public IEnumerator Request(string requestName,List<NameValuePair> paramsList, string urlPrefix, HTTPMETHOD methodType, RequestCallback callback) { WWW www = null; string url = string.Empty; url = mServerAddress + urlPrefix; if(methodType == HTTPMETHOD.GET) { for(int i = paramsList.Count-1; i >=0; i --) { url = url + paramsList[i].mKey + "=" + paramsList[i].mValue + "&"; } url = url.Remove(url.Length - 1); www = new WWW(url); } else { url = url.Remove(url.Length - 1); WWWForm wwwForm = new WWWForm(); for(int i = paramsList.Count-1; i >=0; i --) { wwwForm.AddField(paramsList[i].mKey,paramsList[i].mValue); } www= new WWW(url, wwwForm); } Debug.Log(requestName+" ::::::::: "+url); yield return www; if (www.error == null) { callback.OnRequestSuccess(requestName,www.text); } else { //网络异常,for example :no net callback.OnRequestFailed(requestName); } }
public async Task <string> CallAPI(string endpoint, HTTPMETHOD method, JObject payload = null) { string token = GetCurrentToken(); if (token == null) { throw new Exception("Cannot retrieve current token"); } using (var client = new HttpClient()) { client.BaseAddress = new Uri(@"http://localhost:55985"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("utf-8")); client.DefaultRequestHeaders.Add("X-ZUMO-AUTH", token); try { HttpContent content = new StringContent(JsonConvert.SerializeObject(payload), Encoding.UTF8, "application/json"); HttpResponseMessage response = null; switch (method) { case HTTPMETHOD.GET: response = await client.GetAsync(endpoint); break; case HTTPMETHOD.POST: response = await client.PostAsync(endpoint, content); break; case HTTPMETHOD.PUT: response = await client.PutAsync(endpoint, content); break; case HTTPMETHOD.DELETE: response = await client.DeleteAsync(endpoint); break; } if (response.IsSuccessStatusCode) { string jsonResponse = await response.Content.ReadAsStringAsync(); return(jsonResponse); } else { throw new ArgumentNullException(); } } catch (Exception) { //Could not connect to server //Use more specific exception handling, this is just an example return(null); } } return(null); }
private string Request(string url, int port, HTTPMETHOD method, Dictionary <string, string> header = null, string data = "") { Uri uri = new Uri(url); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //request.ContentType = "application/x-www-form-urlencoded"; if (method == HTTPMETHOD.GET) { request.Method = "GET"; } else if (method == HTTPMETHOD.POST) { request.Method = "POST"; } if (header == null) { header = new Dictionary <string, string>(); } request.CookieContainer = cookies; request.KeepAlive = true; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"; request.Accept = "*/*"; request.Host = uri.Host; //request.Headers["Accept-Encoding"] = "gzip, deflate"; request.Headers["Accept-Language"] = "zh-CN,zh;q=0.8,en;q=0.6"; request.Referer = uri.Scheme + "://" + uri.Host + "/"; if (header.ContainsKey("ContentType")) { request.ContentType = header["ContentType"]; } if (header.ContainsKey("Accept")) { request.Accept = header["Accept"]; } if (method == HTTPMETHOD.POST) { byte[] buffer = Encoding.UTF8.GetBytes(data); request.ContentType = "application/json;"; request.ContentLength = buffer.Length; request.GetRequestStream().Write(buffer, 0, buffer.Length); } HttpWebResponse response = null; try { response = (HttpWebResponse)request.GetResponse(); string ret = ""; using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8)) { ret = reader.ReadToEnd(); } return(ret); } catch { } return(""); }
public IEnumerator Request(string requestName, List <NameValuePair> paramsList, string urlPrefix, HTTPMETHOD methodType, RequestCallback callback) { WWW www = null; string url = string.Empty; url = mServerAddress + urlPrefix; if (methodType == HTTPMETHOD.GET) { for (int i = paramsList.Count - 1; i >= 0; i--) { url = url + paramsList[i].mKey + "=" + paramsList[i].mValue + "&"; } url = url.Remove(url.Length - 1); www = new WWW(url); } else { url = url.Remove(url.Length - 1); WWWForm wwwForm = new WWWForm(); for (int i = paramsList.Count - 1; i >= 0; i--) { wwwForm.AddField(paramsList[i].mKey, paramsList[i].mValue); } www = new WWW(url, wwwForm); } Debug.Log(requestName + " ::::::::: " + url); yield return(www); if (www.error == null) { callback.OnRequestSuccess(requestName, www.text); } else { //网络异常,for example :no net callback.OnRequestFailed(requestName); } }