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(); }
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); }