通過HttpWebRequest訪問數據時,總是無法返回。最后通過抓包發現發送的HTTP包的頭部有一個except=100-continue項。百度這個頭信息,如下:
Expect 是一個請求消息頭,包含一個期望條件,表示服務器只有在滿足此期望條件的情況下才能妥善地處理請求。
規范中只規定了一個期望條件,即 Expect: 100-continue, 對此服務器可以做出如下回應:100 如果消息頭中的期望條件可以得到滿足,使得請求可以順利進行的話,
417 (Expectation Failed) 如果服務器不能滿足期望條件的話;也可以是其他任意表示客戶端錯誤的狀態碼(4xx)。例如,如果請求中 Content-Length 的值太大的話,可能會遭到服務器的拒絕。
常見的瀏覽器不會發送 Expect 消息頭,但是其他類型的客戶端如cURL默認會這么做。
需要將這個頭部信息移除,request.ServicePoint.Except100Continue = false即可。