我正在使用C#使用WebClient()。C#擺脫WebClient中的連接標頭
我測試了什麼標題發送,我注意到,下面的標題是自動添加的。
Connection : Keep-Alive
有什麼方法可以刪除它嗎?
我正在使用C#使用WebClient()。C#擺脫WebClient中的連接標頭
我測試了什麼標題發送,我注意到,下面的標題是自動添加的。
Connection : Keep-Alive
有什麼方法可以刪除它嗎?
使用HttpWebRequest
,而不是WebClient
(這是略不太方便,但不是非常多)和KeepAlive
屬性設置爲false
。
我還沒有測試過 - 它是可能它只會改變Connection頭的值而不是刪除它 - 但值得一試。 Connection
財產至少的文檔建議它只添加Keep-Alive。
今天早上我遇到了同樣的問題。在飛碟雙向的提示之後,就可以通過傳遞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
有一點要注意的是,這樣做不會*刪除*連接頭,儘管它確實將其從「Connection:Keep-Alive」更改爲「Connection:Close」。 – 2009-10-16 16:57:08