ApexLumia.HTTPRequests.postRequestAsync C# (CSharp) Метод

postRequestAsync() публичный статический Метод

public static postRequestAsync ( string url, string postData, string authorization = "", bool Expect100Continue = true ) : Task
url string
postData string
authorization string
Expect100Continue bool
Результат Task
        public static async Task<String> postRequestAsync(string url, string postData, string authorization = "", bool Expect100Continue = true)
        {
            string result;
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
               
                byte[] postbytes = System.Text.Encoding.UTF8.GetBytes(postData);
                request.Headers[HttpRequestHeader.ContentLength] = postbytes.Length.ToString();
                request.Headers[HttpRequestHeader.Authorization] = authorization;

                Stream postStream = await request.GetRequestStreamAsync();
                postStream.Write(postbytes, 0, postbytes.Length);
                postStream.Close();

                WebResponse response = await request.GetResponseAsync();
                result = new StreamReader(response.GetResponseStream()).ReadToEnd();

            }
            catch { return ""; }


            return result;
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Async: Post a new tweet to the previously defined twitter account.
        /// </summary>
        /// <param name="tweet">The tweet to post. Max. 140 chars</param>
        /// <param name="latitude">Optional: latitude for geotagging</param>
        /// <param name="longitude">Optional: longitude for geotagging</param>
        public async void newStatusAsync(string tweet, string latitude = "", string longitude = "")
        {
            string url = "https://api.twitter.com/1/statuses/update.json";

            var parameters = new Dictionary <string, string>();

            parameters.Add("status", Utils.UrlEncodeRelaxed(tweet));
            parameters.Add("display_coordinates", "true");
            if (latitude != "")
            {
                parameters.Add("lat", Utils.UrlEncodeRelaxed(latitude));
            }
            if (longitude != "")
            {
                parameters.Add("long", Utils.UrlEncodeRelaxed(longitude));
            }

            string authorization = generateAuthorizationHeader(url, "POST", parameters);
            string content       = string.Format("status={0}", Utils.UrlEncodeRelaxed(tweet));

            content += string.Format("&display_coordinates={0}", "true");
            if (latitude != "")
            {
                content += string.Format("&lat={0}", Utils.UrlEncodeRelaxed(latitude));
            }
            if (longitude != "")
            {
                content += string.Format("&long={0}", Utils.UrlEncodeRelaxed(longitude));
            }

            string result = await HTTPRequests.postRequestAsync(url, content, authorization);

            if (result == "")
            {
                _status = false;
            }
            else
            {
                _status = true;
            }
        }