示例#1
0
        public static void Registration(UserRegistrationModel model, 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 + IAmItServerMethods.REGISTRATION);

                var data = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(model));

                request.Method        = "POST";
                request.ContentType   = "application/json";
                request.ContentLength = data.Length;

                using (var stream = request.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                }
                try
                {
                    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    {
                        if (response.StatusCode.Equals(HttpStatusCode.OK))
                        {
                            PlayerPrefs.DeleteKey("Token");
                            Synchronizer.IsUsed = false;
                            listener.OnPost(new StreamReader(response.GetResponseStream()).ReadToEnd());
                        }
                    }
                }
                catch (WebException e)
                {
                    using (HttpWebResponse response = (HttpWebResponse)e.Response)
                    {
                        HttpWebResponse httpResponse = (HttpWebResponse)response;
                        using (Stream data1 = response.GetResponseStream())
                            using (var reader = new StreamReader(data1))
                            {
                                string text = reader.ReadToEnd();
                                listener.OnFail(text);
                            }
                    }
                }
            }
        }
示例#2
0
        public static void Post <T> (T model, 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);

                var data = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(model));

                request.Method = "POST";
                request.Headers.Add(HttpRequestHeader.Cookie, ".AspNet.ApplicationCookie=" + Token);
                request.ContentType   = "application/json";
                request.ContentLength = data.Length;

                using (var stream = request.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                }

                HttpWebResponse response = null;
                try
                {
                    response = (HttpWebResponse)request.GetResponse();
                } catch (WebException ex)
                {
                    response = (HttpWebResponse)ex.Response;
                    Debug.Log(ex.Message);
                }
                if (response.StatusCode.Equals(HttpStatusCode.OK))
                {
                    listener.OnPost(new StreamReader(response.GetResponseStream()).ReadToEnd());
                }
                else
                {
                    listener.OnFail(response.StatusCode.ToString());
                }
            }
        }