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/
您的支持是对博主最大的鼓励👍,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人