HttpClient之可恨的Expect(C# http 请求卡住的解决办法)

时间:2022-06-21 06:24:08

今天用HTTP.HttpClient这个对象开发的时候遇到一个奇怪的问题 当POST一个页面的时候始终卡住提交不成功

最初以为协议有错误就抓包测试在抓包在测试 最后想到是不是HttpClient的BUG?当使用另一种语言提交同样的包就没问题

后来抓包对比这2个语言发出的包发现HttpClient默认是开启Expect协议头的 找了半天才找到取消Expect协议头的方法 Client.DefaultRequestHeaders.ExpectContinue = False

至此问题轻松解决  HttpWebRequest取消的方法是HttpWebRequest.Expect= False

其实我知道HttpWebRequest默认是开启Expect的只是没想到HTTP.HttpClient的默认也是开启的