Exemplo n.º 1
0
        public httpAnswer sendHttpRequest(string methodName, string jsonParameters = "", string token = "", string mode = "POST")
        {
            httpAnswer result  = null;
            string     url     = serverUrl + pathToMethods + methodName;
            WebRequest request = WebRequest.Create(url);

            request.Method = "POST";
            string postData = jsonParameters;

            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            request.ContentType = "application/json; charset=utf-8";
            if (token != "")
            {
                request.Headers.Add("X-Api-Token", token);
            }
            request.Headers.Add(HttpRequestHeader.Pragma, "no-cache");
            request.ContentLength = byteArray.Length;

            Stream dataStream = request.GetRequestStream();

            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();

            try {
                WebResponse response = request.GetResponse();

                using (dataStream = response.GetResponseStream())
                {
                    StreamReader reader = new StreamReader(dataStream);

                    string  responseFromServer = reader.ReadToEnd();
                    dynamic resultRaw          = JsonConvert.DeserializeObject <dynamic>(responseFromServer);
                    string  innerAnswer        = JsonConvert.SerializeObject(resultRaw.d);

                    result = new httpAnswer()
                    {
                        d = new httpResult
                        {
                            error       = false,
                            errorNumber = 200,
                            message     = innerAnswer
                        }
                    };
                }
            }
            catch (Exception e)
            {
                int errorNumber;
                result = new httpAnswer()
                {
                    d = new httpResult
                    {
                        error       = true,
                        errorNumber = int.TryParse(Regex.Match(e.Message, @"\d+\.*\d+").Value, out errorNumber) ? errorNumber:-1,
                        message     = e.Message
                    }
                };
            }
            return(result);
        }
        public static void Main(string[] args)
        {
            HTTPManager manager = new HTTPManager();
            httpAnswer  result  = manager.Authenticate("alfred", "nobel");

            if (result.d.error)
            {
                Console.WriteLine("Error " + result.d.errorNumber.ToString() + " " + result.d.message);
            }
            else
            {
                string token = result.d.message.Replace("\"", "");
                Console.WriteLine(token);

                result = manager.sendHttpRequest("getData", "", token);
                if (result.d.error)
                {
                    Console.WriteLine("Error " + result.d.errorNumber.ToString() + " " + result.d.message);
                }
                else
                {
                    Console.WriteLine(result.d.message);
                }
            }

            Console.ReadKey();
        }
Exemplo n.º 3
0
        public httpAnswer Authenticate(string login, string mdp)
        {
            LoginPW parameters = new LoginPW()
            {
                username = login,
                password = mdp
            };
            string     jsonParameters = JsonConvert.SerializeObject(parameters);
            httpAnswer result         = sendHttpRequest("authenticate", jsonParameters, "");

            return(result);
        }