部分網頁 GET 請求返回空內容或異常,通常由以下因素導致:
Java/1.8、python-requests)被反爬蟲攔截。Referer、Cookie、Host、X-Forwarded-For 等被服務端校驗。text/html)。HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36";
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
request.AllowAutoRedirect = true; // 自動跟隨重定向
request.CookieContainer = new CookieContainer(); // 維持會話
// 若需攜帶特定 Cookie
request.CookieContainer.Add(new Uri(url), new Cookie("sessionid", "abc123"));
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) {
string html = reader.ReadToEnd();
// 處理 html...
}
robots.txt 與站點服務條款,控制抓取頻率。