public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string url = context.Request["url"];
string u = "https://www.amazon.com/product-reviews/" + url + "/?pageNumber=1";
string url1 = GetHTMLCode(u);
context.Response.Write(url1);
}
protected string GetHTMLCode(string url)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
//使用Cookie設定AllowAutoRedirect屬性為false,是解決“嘗試自動重定向的次數太多。”的核心
request.CookieContainer = new CookieContainer();
request.AllowAutoRedirect = false;
WebResponse response = (WebResponse)request.GetResponse();
Stream sm = response.GetResponseStream();
System.IO.StreamReader streamReader = new System.IO.StreamReader(sm);
//將流轉換為字串
string html = streamReader.ReadToEnd();
streamReader.Close();
return html;
}
通過瀏覽器直接訪問:https://www.amazon.com/product-reviews/B073WKZPGX/?pageNumber=1 亞馬遜評論區是可以訪問。

但通過代碼去 獲取源代碼就獲取不了。直接獲取到的是驗證碼這張頁面的代碼。

這個需要怎么改動。麻煩大神給的思路或代碼幫忙解決下。
uj5u.com熱心網友回復:
缺少Headers 資訊吧。 User-Agent,Cookie 之類的。請求的時候把這些包含進去。。你可以在游覽器的除錯頁面里看到這些內容uj5u.com熱心網友回復:
識別為機器人了。你可以在請求里面把User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0Cookie之類的帶上。具體你F12看瀏覽器請求頭包含了哪些。然后你也包含就OK了
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/17956.html
標籤:ASP.NET
上一篇:緊急求助,CyUSB.dll怎么用??????????????????????
下一篇:阿里云redis資料庫連接超時
