Net Core教程

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

本文主要是介绍HttpClient之可恨的Expect(C# http 请求卡住的解决办法),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

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

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

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

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

 

 

转载于:https://www.cnblogs.com/Ghsoft/p/5130448.html

这篇关于HttpClient之可恨的Expect(C# http 请求卡住的解决办法)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!