c# - 请求后 WebClient 中的 header 消失

标签 c# header webclient

我对 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

为什么我的标题消失了?

最佳答案

因为 header 已发送并且 webclient 完成了它的工作。如果你想为下一个请求使用相同的 header ,你应该再次添加它们。

关于c# - 请求后 WebClient 中的 header 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922681/

相关文章:

c++ - 避免在类头文件中声明私有(private)函数 (C++)

javascript - 如何下载网页组件?

C# 是否可以在名为 new 的类中命名一个方法?

c# - 如何在本地机器上测试azure工作角色?

android - 添加 header 谷歌 Volley 请求?

javascript - 窗口重新加载到同一位置后,固定标题不会保持固定

C# - WebClient - 远程服务器发送 503 错误

c# - C# 中 System.Net 的 Webclient 无法连接到服务器

c# - 用于选择 XML 结构深处的元素的 LINQ 语句

javascript - Datatables.net 渲染和应用分页速度慢