13

私は WebClient() を使用して C# を使用しています。

送信されるヘッダーをテストしていたところ、次のヘッダーが自動的に追加されることに気付きました。

Connection : Keep-Alive

これを取り除く方法はありますか?

4

2 に答える 2

16

私は今朝同じ問題に遭遇しました。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

于 2010-03-02T08:48:35.407 に答える
4

HttpWebRequestの代わりに使用しWebClient少し便利ではありませんが、それほど便利ではありません)、KeepAliveプロパティをに設定しますfalse

私はこれをテストしていません-Connectionヘッダーの値を削除するのではなく変更するだけである可能性があります-しかし、試してみる価値はあります。プロパティのドキュメントは、Connection少なくとも、Keep-Aliveを追加するだけであることを示唆しています。

于 2009-05-22T05:30:39.590 に答える