我試圖從www.mediafire.com解析下載頁面,但當我嘗試將頁面加載到HtmlDocument
時,我確實經常收到帶有以下消息的System.Net.WebException
:使用HtmlAgilityPack下載網頁時違反HTTP協議
服務器承諾協議 違規。第= ResponseStatusLine
這是我的代碼:
HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = null;
string url = www.mediafire.com/?abcdefghijkl //There are many different links
try
{
doc = web.Load(url); //From 30 links, usually only 10 load properly
}
catch (WebException)
{
}
任何想法,爲什麼只有10個30個鏈接工作(鏈接更改每次,因爲我的計劃是一個「搜索引擎」)的情況以及我如何解決問題?
當我在瀏覽器中加載這些網站時,一切正常。
我試着以下行添加到我的app.config,但這並沒有幫助
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
。你可以嘗試使用`WebRequest`並構造一個類似於你的瀏覽器的請求。 – alexn 2011-01-11 11:48:28
你可以提供一些關於這樣做的更多信息嗎?也許鏈接到一個教程或什麼的? – Flagbug 2011-01-11 12:04:11