如何下载使用基于java的加载机制的网页? 下面的代码返回几乎空的文档到期站点机制。 在浏览器中查看时,您会看到" loading ..."并在一段时间后呈现内容。 另外,我想避免使用WebBrowser控件。
HtmlDocument doc = new HtmlDocument();
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
if (!string.IsNullOrWhiteSpace(userAgent))
req.UserAgent = userAgent;
if (cookies != null)
{
req.CookieContainer = new CookieContainer();
foreach (Cookie c in cookies)
req.CookieContainer.Add(c);
}
var resp = req.GetResponse();
var resp_str = resp.GetResponseStream();
using (StreamReader sr = new StreamReader(resp_str, Encoding.GetEncoding("windows-1251")))
{
string r = sr.ReadToEnd();
doc.LoadHtml(r);
}
return doc;
答案 0 :(得分:1)
嗯,你基本上需要一个网络浏览器来运行javascript。您的webrequest现在只从服务器获取数据。
你可以使用System.Windows.Forms.WebBrowser,但它并不漂亮。这个https://stackoverflow.com/a/11394830/2940949可能会让您对基本问题有所了解。