HttpClien Get&Post

    新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先。

using System.Threading.Tasks;
using System.Net.Http;
using Newtonsoft.Json;
using System.Net.Http.Headers;

    /// 
    /// Http Method Helper
    /// 
    public static class HttpHelper
    {
        private static HttpClient instance = null;
        public static HttpClient GetClient()
        {
            if (instance == null)
                instance = new HttpClient();
            return instance;
        }

        /// 
        /// Get Method
        /// 
        public static async Task Get(string url)
        {
            try
            {
                var client = GetClient();
                var responseMsg = await client.GetAsync(url);
                if (responseMsg.IsSuccessStatusCode)
                {
                    string strJson = await responseMsg.Content.ReadAsStringAsync();
                    return JsonConvert.DeserializeObject(strJson);
                }
                else
                {
                    return default(T);
                }

            }
            catch
            {
                instance = new HttpClient();
                return default(T);
            }
        }

        /// 
        /// Post Method
        /// 
        public static async Task Post(string url, dynamic para)
        {
            try
            {
                if (para != null)
                {
                    var requestJson = JsonConvert.SerializeObject(para);
                    HttpContent httpContent = new StringContent(requestJson);
                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    var client = GetClient();

                    var responseJson = await client.PostAsync(url, httpContent).Result.Content.ReadAsStringAsync();
                    return JsonConvert.DeserializeObject(responseJson);
                }
                return default(T);
            }
            catch
            {
                instance = new HttpClient();
                return default(T);
            }
        }
    }

 

 调用测试:

//=======================================================
//                  .----.
//               _.'__    `.
//           .--(^)(^^)---/#\
//         .' @          /###\
//         :         ,   #####
//          `-..__.-' _.-\###/
//                `;_:    `"'
//              .'"""""`.
//             /,  ya ,\\
//            //向上吧!409  \\
//            `-._______.-'
//            ___`. | .'___
//           (______|______)
//=======================================================

你可能感兴趣的:(HttpClien Get&Post)