HttpClientHelper

---恢复内容开始---

把HttpClient封装一下,结合博客园的大佬们的建议。

 public sealed class HttpClientHelp
    {
        private HttpClientHelp() { }

        public static readonly HttpClient Client;
        public static readonly string AccessToken;
        /// <summary>
        /// 构造函数初始化HttpClient
        /// </summary>
        static HttpClientHelp()
        {
            Client = new HttpClient();
            if(!string.IsNullOrEmpty(AccessToken))
            {
                Client.DefaultRequestHeaders.Authorization =
                   new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", AccessToken);
            }
        }
        /// <summary>
        /// 异步Get方式请求
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public async Task<string> GetResponseAsync(string url)
        {
            string result = await Client.GetStringAsync(url);
            return result;
        }
        /// <summary>
        /// 异步Post方式请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        public async Task<HttpResponseMessage> PostResponseAsync(string url, HttpContent content)
        {
            HttpResponseMessage message = await Client.PostAsync(url, content);
            return message;
        }
        /// <summary>
        /// 以异步的方式请求并将异步请求的结果返回
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static string GetResponse(string url)
        {
            string result = Client.GetStringAsync(url).Result;
            return result;
        }
        /// <summary>
        /// 以异步的方式请求并将异步请求的结果返回
        /// </summary>
        /// <param name="url"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        public static HttpResponseMessage PostResponse(string url, HttpContent content)
        {
            HttpResponseMessage result = Client.PostAsync(url,content).Result;
            return result;
        }
        public static void AddHeads(string key,string data)
        {
            //例如"UserAgent", "contact@xxxxx.com"
            Client.DefaultRequestHeaders.Add(key, data);
        }
    }

  

---恢复内容结束---

posted @ 2017-01-11 23:15  生有涯而知无涯  阅读(465)  评论(0)    收藏  举报