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