我试图从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