/// <summary> /// Requests a synchronized http request to a determinated host and send the data in $_POST /// </summary> public void SyncRequest() { var request = new HttpRequest(); var form = new HttpForm(); form.AddField("username", userField.text); form.AddField("password", pwdField.text); form.AddField("token", db.Token); request.Post(db.HttpLinks[0], form); Debug.Log("Request Headers : " + request.headers); Debug.Log("Request post data :" + form.ToString()); if (request.isDone) { if (!request.isError || request.statusCode == System.Net.HttpStatusCode.OK) { ResponseTarget.text = "Success Response: " + request.ContentResponse; Debug.Log(request.ContentResponse); } else { ResponseTarget.text = "Response: " + request.statusCode; ResponseTarget.color = Color.red; Debug.Log("status code error : " + request.statusCode); } } }
/// <summary> /// Request a pure HttpRequest synchronized which do not return but his data may be accessed on the created instance /// </summary> /// <param name="url"></param> /// <param name="data"></param> public void Post(string url, HttpForm data) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ContentType = "application/x-www-form-urlencoded"; request.Method = "POST"; byte[] bytes = System.Text.Encoding.ASCII.GetBytes(data.ToString()); request.ContentLength = bytes.Length; Stream os = request.GetRequestStream(); os.Write(bytes, 0, bytes.Length); //Push it out there os.Close(); HttpWebResponse resp = (HttpWebResponse)request.GetResponse(); if (resp == null) { ContentResponse = String.Empty; } StreamReader sr = new StreamReader(resp.GetResponseStream()); //Releases the resources of the response resp.Close(); //The request was successfull if (resp.StatusCode == HttpStatusCode.OK) { //Set instance data ContentResponse = sr.ReadToEnd().Trim(); headers = resp.Headers.ToString(); length = resp.ContentLength; this.url = url; this.bytes = bytes; isJson = JsonHelper.isJson(ContentResponse); statusCode = resp.StatusCode; isError = false; } } catch (WebException e) { Debug.Log("\r Web Exception : " + e.Status); isError = true; } catch (Exception e) { Debug.Log("\r The following exception was raised : " + e.Message); isError = true; } finally { isDone = true; } }