【问题标题】:proxy and htmlagilitypack issues代理和 htmlagilitypack 问题
【发布时间】:2012-07-19 22:53:27
【问题描述】:

我一直在尝试通过代理使用 htmlagilitypack,但发现出现了一些不可预知的行为。

如何向 htmlagilitypack 添加凭据,以便它能够通过代理抓取网页?

【问题讨论】:

  • 使用HttpWebRequestWebClient 下载页面,然后将字符串加载到HAP。

标签: c# vb.net html-parsing html-agility-pack


【解决方案1】:

这是我通常做的:

HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(url);
...
HttpWebResponse response = (HttpWebResponse) request.GetResponse();

using (var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) {
    var doc = new HtmlDocument();
    doc.Load(reader.BaseStream);

    //Use (or return) the HtmlDocument 'doc' here.
}

您可以将此代码封装在一个 方法 上,该方法给定一个 url,返回一个 HtmlDocument 对象。

【讨论】:

    【解决方案2】:

    这里已经回答了一个类似的问题enter link description here

    您在代码中如下使用它。

    HtmlWeb web = new HtmlWeb();
    web.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6";
    var doc = web.Load(string url, string proxyHost, int proxyPort, string yourUserId, string yourPassword);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 2012-04-27
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多