1

我正在使用 HtmlAgilityPack 从网页中获取表格。

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://test.com");

我知道 HtmlWeb 有一个 UserAgent 属性,但是我不知道应该如何将用户代理附加到 httprequest 的标头。

HtmlWeb web = new HtmlWeb().UserAgent("asdf");

返回错误

Error   1   Non-invocable member 'HtmlAgilityPack.HtmlWeb.UserAgent' cannot be used like a method.

http://htmlagilitypack.codeplex.com/discussions HtmlAgilityPack 支持讨论显示为简单的问题,但另一端没有人回应。

http://htmlagilitypack.codeplex.com/documentation这里还没有文档。

http://htmlagilitypack.codeplex.com/downloads/get/437942尝试下载文档,发现 chm 文件似乎已损坏...当我尝试打开其中的任何内容时,出现“导航到网页被取消”错误chm 文档。

4

3 回答 3

8

实例化后只需设置对象的UserAgent属性。HtmlWeb

HtmlWeb web = new HtmlWeb();
web.UserAgent = "your useragent string here";
于 2012-10-03T16:24:14.623 回答
3

HtmlWeb.UserAgent是一个属性,而不是一个方法。它的 Intellisense 总结是:

获取或设置在任何 webrequest 上发送的用户代理 HTTP 1.1 标头

尝试类似:

HtmlWeb web = new HtmlWeb();
web.UserAgent = "asdf"; // Replace this with your actual user agent :)
于 2012-10-03T16:25:05.823 回答
1

UserAgent 是 HtmlWeb 的属性。你可以这样使用它:

HtmlWeb web = new HtmlWeb();
web.UserAgent = "[user agent string here]";
于 2012-10-03T16:24:45.123 回答