HttpWebRequest 改為 HttpClient 踩坑記-請求頭設置


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM