网络编程采用HttpClient类更好
2024-08-26 03:22:30
一般人网络编程普遍用HttpWebRequest,类似下面的实现。我也一般都这样实现
string result = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(requesturl));
request.Method = method;
request.ContentType = "application/json";
request.Headers["Authorization"] = AuthStr;
if (!string.IsNullOrWhiteSpace(jsonstr))
{
using (var requestStream = await request.GetRequestStreamAsync())
{
var writer = new StreamWriter(requestStream);
writer.Write(jsonstr);
writer.Flush();
}
}
using (var resp = await request.GetResponseAsync())
{
using (var responseStream = resp.GetResponseStream())
{
var reader = new StreamReader(responseStream);
result = reader.ReadToEnd();
}
}
return result;
但微软建议采用System.Net.Http.HttpClient类:MSDN链接
使用HttpClient类的确是比较简洁了。
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer",AuthStr);
HttpContent content = new StringContent(jsonstr,Encoding.UTF8);
content.Headers.ContentType.CharSet = null;
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
System.Net.Http.HttpResponseMessage response = await client.PutAsync(new Uri(requesturl), content);
response.EnsureSuccessStatusCode();
string responseBody = System.Text.RegularExpressions.Regex.Unescape(await response.Content.ReadAsStringAsync());
return responseBody;
最新文章
- H3 BPM初次安装常见错误详解5-7
- DIOCP之编写第一个应用程序(一)
- iOS开发零基础--Swift教程 类型转换
- 让CKEditor支持FLV视频播放
- ubuntu静态IP配置
- js对数组排序
- C#中简单调用MD5方法以及MD5简介
- 服务控件与html标签的一点
- 《BackboneJS框架的技巧及模式》(4)完结篇
- Hadoop 中 IPC 的源码分析
- USM锐化之openCV实现,附赠调整对比度函数
- 玩转python之测试一个对象是否是类字符串
- Alfred工具
- Asp.net mvc 知多少(十)
- ABP从入门到精通(1):aspnet-zero-core项目启动及各项目源码说明
- [Luogu4174][NOI2006]最大获益
- xcode7,AFN不能使用的问题
- 【React入门实例(运行于浏览器duan)】
- 根据json生成c#实体类
- (85)Wangdao.com第十八天_JavaScript NodeList 接口,HTMLCollection 接口