如何禁用“期望:100继续”在HttpWebRequest的头单个请求?(How to disabl

2019-08-04 21:13发布

HttpWebRequest自动追加一个Expect: 100-continue POST请求头。 在互联网的各种信息表明,如下这可以被禁用:

System.Net.ServicePointManager.Expect100Continue = false;

但是,我正在写一个库,我不能禁用此整个AppDomain中,如果应用程序依赖于这种行为。 我也不能认为它会保持设置为这个值。 我如何可以禁用它的具体要求?

Answer 1:

HttpWebRequest类有一个属性调用ServicePoint其可被用来改变此设置的特定请求。 例如:

var req = (HttpWebRequest) WebRequest.Create(...);
req.ServicePoint.Expect100Continue = false;


Answer 2:

如果您还需要设置一个代理,确保做到第一。 否则Expect100Continue将再次恢复到真实的 。 所以:

HttpWebRequest webRequest = WebRequest.CreateHttp(_url);
webRequest.Proxy = new WebProxy(_proxyHost, _proxyPort);
webRequest.ServicePoint.Expect100Continue = false;


文章来源: How to disable the “Expect: 100 continue” header in HttpWebRequest for a single request?