2012-10-03 50 views
1

我正在使用HtmlAgilityPack從網頁抓取表格。HtmlWeb用戶代理

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文檔中的任何東西。

+0

您可以隨時使用'WebRequest'並加載字符串從它的HAP。 – Oded

回答

6

只需在實例化後設置HtmlWeb對象的UserAgent屬性即可。

HtmlWeb web = new HtmlWeb(); 
web.UserAgent = "your useragent string here"; 
0

UserAgent是HtmlWeb的財產。您可以使用這種方式:

HtmlWeb web = new HtmlWeb(); 
web.UserAgent = "[user agent string here]"; 
1

HtmlWeb.UserAgent是一個屬性,而不是方法。它的智能感知摘要:

獲取或設置用戶代理HTTP 1.1標發送任何的WebRequest

試着這麼做:

HtmlWeb web = new HtmlWeb(); 
web.UserAgent = "asdf"; // Replace this with your actual user agent :)