HttpWebRequest 改为 HttpClient 踩坑记-请求头设置
程序员文章站
2022-07-02 16:53:08
HttpWebRequest 改为 HttpClient 踩坑记 请求头设置 Intro 这两天改了一个项目,原来的项目是.net framework 项目,里面处理 HTTP 请求使用的是 WebReauest,但是 WebRequest 已经不再推荐使用了,你如果在项目中使用的话,编译器会警告, ......
httpwebrequest 改为 httpclient 踩坑记-请求头设置
intro
这两天改了一个项目,原来的项目是.net framework 项目,里面处理 http 请求使用的是 webreauest,但是 webrequest 已经不再推荐使用了,你如果在项目中使用的话,编译器会警告, webrequest已过时,新项目要 .net standard 重写就直接 httpclient 来处理 http 请求了,在改的过程中踩了几个坑,记录一下
请求头处理
httpclient 通常如果要添加请求头的话。一般这样添加:
var requestmessage = new httprequestmessage(_httpmethod, requesturl) { content = new stringcontent(postdata, encoding.utf8, "appplication/json") }; // requestmessage.headers.tryaddwithoutvalidation("date", date);
但是有些请求头这样加是可以的,但是有些请求头就不行了,这次就遇到了两个例外,一个是 content-type,一个是 content-md5 这两个请求头。
设置请求头 content-type
正确姿势:
requestmessage.content.headers.contenttype = new system.net.http.headers.mediatypeheadervalue(contenttype);
设置请求头 content-md5
正确姿势:
requestmessage.content.headers.tryaddwithoutvalidation("content-md5", contentmd5);
reference
上一篇: 常用SMTP地址
下一篇: 一个简单的AJAX请求类