我正在使用 C# 使用 WebClient()。
我正在测试发送了哪些标头,我注意到自动添加了以下标头。
Connection : Keep-Alive
有什么办法可以去掉这个吗?
今天早上我遇到了同样的问题。按照 Jon Skeet 的提示,它可以通过继承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。