3

WebClient クラスの Headers コレクションに奇妙な問題があります。

これが私の例です:

WebClient client = new WebClient();
        client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0");
        client.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        client.Headers.Add("Accept-Language", "pl,en-us;q=0.7,en;q=0.3");

        Console.WriteLine("Before request:");
        foreach (string key in client.Headers)
        {
            Console.WriteLine(key + ": " + client.Headers[key]);
        }

        client.DownloadString("http://www.google.com");

        Console.WriteLine();
        Console.WriteLine("After request:");

        foreach (string key in client.Headers)
        {
            Console.WriteLine(key + ": " + client.Headers[key]);
        }

        Console.ReadLine();

この単純なプログラムを実行した結果:

Before request:
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3

After request:
Accept-Language: pl,en-us;q=0.7,en;q=0.3

ヘッダーが消えるのはなぜですか?

4

1 に答える 1

3

ヘッダーが送信され、webclient がジョブを実行したためです。次のリクエストで同じヘッダーが必要な場合は、再度追加する必要があります。

于 2013-07-29T11:21:51.147 に答える