WebClient标头

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebClient标头相关的知识,希望对你有一定的参考价值。

我正在使用WebClient抓取Google搜索。我一直在收到“无法到达此页面”直到我更改了User-Agent标头:

            string page = string.Format("https://www.google.com/search?q={0}&hl=en", my_stocks[order].Symbole+" stock");
            WebClient client = new WebClient ();
            client.Headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";
            string r = client.DownloadString(page);

但是html呈现的方式与我在Chrome浏览器中搜索相同内容时不同。所以我尝试在https://www.whatismybrowser.com/detect/what-is-my-user-agent中使用chrome时将标头更改为相同的标题但再次获得“无法访问此页面”。我在这里想念什么?

答案
我的2美分...

由于单页应用程序的涌入,Web抓取不再是以前的样子,因为页面通常不再在服务器端呈现。

[很有可能使用异步REST查询而不是服务器端呈现的页面来提供Google搜索。

[进行Google搜索时,请在Chrome标签中查看网络跟踪,您可能会看到许多不同的网络请求。

我建议您寻找一个更具体的API来处理您要发出的请求类型。

以上是关于WebClient标头的主要内容,如果未能解决你的问题,请参考以下文章

WebClient 未向 Windows Phone 中的 Web 服务发送授权标头

来自 ReactiveSecurityContext 的 Spring WebClient 标头

WebClient标头

如何防止 WebClient 类自动跟随标头中的位置?

为WebClient请求设置User-Agent标头

使用 WebClient 将带有标头的请求发送到第三方 api