2

我正在尝试使用 C# 下载网页:

var responseData = "";
var strUrl = this.QuerySelector(item, "a[class='url']").Attributes["href"].Value;

request = (HttpWebRequest)WebRequest.Create(strUrl);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = 0;
request.CookieContainer = cookies;
request.Timeout = System.Threading.Timeout.Infinite;
request.UserAgent = this.RefreshUserAgent();
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
request.KeepAlive = true;
request.AllowAutoRedirect = false;
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

response = (HttpWebResponse)request.GetResponse();
response.Cookies = request.CookieContainer.GetCookies(request.RequestUri);
var encoding = new System.Text.UTF8Encoding();
var responseReader = new StreamReader(response.GetResponseStream(), encoding, true);

responseData = responseReader.ReadToEnd();
response.Close();
responseReader.Close();

但该网站一直给我相同的代码,让 JavaScript 继续。我已经用 Fiddler 检查了数据 - 它只是再次导航到自身,但我无法通过此消息:

Before you can move on - please enable JavaScript.

该网站是 Manta.com,这是我的示例页面。有任何想法吗..

http://www.manta.com/c/mrsywyl/leeds-automotive

4

2 回答 2

3

这是对的。HttpWebRequest只是做一个HTTP请求。它不支持 JavaScript。如果您想要这种行为,请尝试使用WebBrowser控件或 Awesomium 之类的东西。

于 2013-02-24T15:39:57.287 回答
0

您可以尝试伪造 UserAgent 请求标头:

request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0";
于 2020-11-18T16:00:46.027 回答