我正在尝试使用 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,这是我的示例页面。 任何想法..
最佳答案
这是正确的。 HttpWebRequest
只是执行 HTTP 请求。它不支持 JavaScript。如果您想要这种行为,请尝试使用 WebBrowser
控件或类似 Awesomium 的控件。
关于c# - HttpWebRequest - 启用假 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15053340/