【问题标题】:C# Download web page after java loadingjava加载后C#下载网页
【发布时间】:2014-12-26 11:46:55
【问题描述】:

如何下​​载使用基于 java 的加载机制的网页? 由于站点机制,下面的代码返回几乎空的文档。 在浏览器中查看时,您会看到“正在加载...”,并在一段时间后显示内容。 我也想避免使用 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;

【问题讨论】:

    标签: java c# download httpwebrequest


    【解决方案1】:

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

    您可以使用System.Windows.Forms.WebBrowser,但它并不漂亮。这个https://stackoverflow.com/a/11394830/2940949 可能会给你一些关于基本问题的想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 2013-05-07
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多