代理和htmlagilitypack问题

时间:2012-07-20 16:11:27

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

我一直试图通过代理使用htmlagilitypack,我发现我得到了一些不可预知的行为。

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

2 个答案:

答案 0 :(得分: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.
}

您可以将此代码封装在给定网址的方法上,返回HtmlDocument个对象。

答案 1 :(得分:0)

此处已回答类似的问题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);