簡體   English   中英

WebClient 標頭

[英]WebClient Headers

我正在使用 WebClient 來抓取谷歌搜索。 在我更改用戶代理 Header 之前,我一直收到“無法訪問此頁面”:

            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 中搜索相同內容時的呈現方式不同。 因此,當我將 chrome 與https://www.whatismybrowser.com/detect/what-is-my-user-agent一起使用但再次出現“無法訪問此頁面”時,我嘗試將 header 更改為相同。 我在這里想念什么?

我的2美分...

由於單頁應用程序的涌入,web 抓取不再像以前那樣,因為頁面通常不再在服務器端呈現。

Google 搜索很可能是使用異步 REST 查詢而不是服務器端呈現的頁面提供的。

當您進行 Google 搜索時,請在 Chrome 選項卡中查看網絡跟蹤,您可能會看到許多不同的網絡請求。

我建議您尋找更具體的 API 來處理您要提出的請求類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM