Catcher.AndroidDemo.Common.EasyWebRequest.SendPostHttpRequestBaseOnHttpWebRequest C# (CSharp) Method

SendPostHttpRequestBaseOnHttpWebRequest() public static method

send the post request based on httpwebrequest
public static SendPostHttpRequestBaseOnHttpWebRequest ( string url, string>.IDictionary routeParameters ) : Task
url string the url you post
routeParameters string>.IDictionary the parameters you post
return Task
        public static async Task<object> SendPostHttpRequestBaseOnHttpWebRequest(string url, IDictionary<string, string> routeParameters)
        {
            object returnValue = new object();

            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "POST";

            byte[] postBytes = null;
            request.ContentType = "application/x-www-form-urlencoded";
            string paramters = string.Join("&", routeParameters.Select(p => p.Key + "=" + p.Value));
            postBytes = Encoding.UTF8.GetBytes(paramters.ToString());

            using (Stream outstream = request.GetRequestStreamAsync().Result)
            {
                outstream.Write(postBytes, 0, postBytes.Length);
            }

            using (HttpWebResponse response = request.GetResponseAsync().Result as HttpWebResponse)
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    using (Stream stream = response.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                        {
                            string stringValue = await reader.ReadToEndAsync();
                            returnValue = JsonObject.Parse(stringValue);
                        }
                    }
                }
            }
            return returnValue;
        }
    }