C#在java加载后下载网页

时间:2014-12-26 11:46:55

标签: java c# download httpwebrequest

如何下​​载使用基于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;

1 个答案:

答案 0 :(得分:1)

嗯,你基本上需要一个网络浏览器来运行javascript。您的webrequest现在只从服务器获取数据。

你可以使用System.Windows.Forms.WebBrowser,但它并不漂亮。这个https://stackoverflow.com/a/11394830/2940949可能会让您对基本问题有所了解。