C#摆脱WebClient中的Connection头

我正在使用WebClient()使用C#。

我正在测试发送的标头,我注意到会自动添加以下标头。

Connection : Keep-Alive 

有什么办法可以删除吗?

今天早上我遇到了同样的问题。 继Skeet的提示之后,可以通过inheritance它将HttpWebRequest传递给WebClient来实现:

 class MyWebClient : WebClient { protected override WebRequest GetWebRequest(Uri address) { WebRequest request = base.GetWebRequest(address); if (request is HttpWebRequest) { (request as HttpWebRequest).KeepAlive = false; } return request; } } 

现在发送的标题将包含Connection : close

使用HttpWebRequest而不是WebClient (它稍微不方便,但不是很多)并将KeepAlive属性设置为false

我没有测试过这个 – 它可能只是改变Connection头的值而不是删除它 – 但是值得一试。 Connection属性的文档至少表明它只添加了Keep-Alive。