Пример #1
0
    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);
            }
    }
Пример #2
0
        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);
        }
Пример #3
0
        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("");
        }
Пример #4
0
    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);
        }
    }