程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 『備忘』HttpWebRequest 在 POST 提交時, 標頭(Headers)丟失原因,requestheaders

『備忘』HttpWebRequest 在 POST 提交時, 標頭(Headers)丟失原因,requestheaders

編輯:C#入門知識

『備忘』HttpWebRequest 在 POST 提交時, 標頭(Headers)丟失原因,requestheaders


近來研究 HttpWebRequest —— 輔助類完成時,POST JSON數據 總會 丟失標頭(Headers)。

 

 

 

HttpWebRequest POST JSON數據,分如下幾步:

> 將 JSON 轉為 byte[]。

> 從 HttpWebRequest.GetRequestStream() 獲得 寫入流。

> 將 byte[] 寫入到這個 Stream 中。

 

類似的 操作,包括 文件上傳,POST 表單 —— 最終都要 轉換成 byte[]

 

 

 

核心注意事項:

一定不要設置 HttpWebRequest.ContentLength 這個字段。手動設置 這個字段 將導致 標頭(Header)丟失【尤其是 自定義標頭丟失】。

 

 

 

 

特此備忘,希望其他有類似問題的朋友 不要走彎路。

> 這兩天,對於 標頭丟失 這個 BUG,我查遍了 一百多個網頁,沒有答案。

> 又 反編譯了 .Net 底層類庫,看是不是 微軟 不允許 自定義標頭。

> 最後 居然是這樣一行 簡單的代碼 —— 足足浪費了 3天時間。

 

 

                                                                                            舒小龍   InkFx

                                                                                        2016-07-17 03:03    

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved