示例#1
0
        public static void Get <T>(string method, IAmItRequestListener listener)
        {
            bool      isConnected = true;
            WebClient Client      = new WebClient();
            String    Response;

            try
            {
                Response = Client.DownloadString("http://www.google.com");
            }
            catch (WebException e)
            {
                isConnected = false;
                listener.OnFail("Error. Check up you internet connection");
            }
            if (isConnected)
            {
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(SERVER_ADDRESS + method);
                request.Method = "GET";
                request.Headers.Add(HttpRequestHeader.Cookie, ".AspNet.ApplicationCookie=" + Token);
                HttpWebResponse response = null;
                try
                {
                    response = (HttpWebResponse)request.GetResponse();
                }
                catch (WebException ex)
                {
                    response = (HttpWebResponse)ex.Response;
                    Debug.Log(ex.Message);
                }
                string s2 = new StreamReader(response.GetResponseStream()).ReadToEnd();
                Debug.Log(response.StatusCode + ": " + s2);
                if (response.StatusCode.Equals(HttpStatusCode.OK))
                {
                    string s = new StreamReader(response.GetResponseStream()).ReadToEnd();
                    Debug.Log(s);
                    T outputModel = JsonConvert.DeserializeObject <T>(s);
                    Debug.Log(JsonConvert.SerializeObject(outputModel));
                    listener.OnGet(outputModel);
                }
                else
                {
                    listener.OnFail(response.StatusCode.ToString());
                }
            }
        }