HttpClien Get&Post
新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先。
using System.Threading.Tasks; using System.Net.Http; using Newtonsoft.Json; using System.Net.Http.Headers; /// <summary> /// Http Method Helper /// </summary> public static class HttpHelper { private static HttpClient instance = null; public static HttpClient GetClient() { if (instance == null) instance = new HttpClient(); return instance; } /// <summary> /// Get Method /// </summary> public static async Task<T> Get<T>(string url) { try { var client = GetClient(); var responseMsg = await client.GetAsync(url); if (responseMsg.IsSuccessStatusCode) { string strJson = await responseMsg.Content.ReadAsStringAsync(); return JsonConvert.DeserializeObject<T>(strJson); } else { return default(T); } } catch { instance = new HttpClient(); return default(T); } } /// <summary> /// Post Method /// </summary> public static async Task<T> Post<T>(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<T>(responseJson); } return default(T); } catch { instance = new HttpClient(); return default(T); } } }
调用测试:
//=======================================================
// .----.
// _.'__ `.
// .--(^)(^^)---/#\
// .' @ /###\
// : , #####
// `-..__.-' _.-\###/
// `;_: `"'
// .'"""""`.
// /, ya ,\\
// //向上吧!409 \\
// `-._______.-'
// ___`. | .'___
// (______|______)
//=======================================================
作者:EminemJK(山治先生)
出处:https://www.cnblogs.com/EminemJK/
您的支持是对博主最大的鼓励👍,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。