Ich versuche, Download-Seiten von www.mediafire.com zu analysieren, aber mir wirklich oft ein System.Net.WebException
mit der folgenden Meldung erhalten, wenn ich versuche, eine Seite zu einem HtmlDocument
zu laden:HTTP-Protokoll Verletzung, wenn die Homepage HtmlAgilityPack mit dem Download
Der Server hat ein Protokoll Verletzung begangen. Section = ResponseStatusLine
Dies ist mein Code:
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)
{
}
Irgendwelche Ideen, warum nur 10 von 30 Links Arbeit (die Links jedes Mal ändern, weil mein Programm eine "Suchmaschine" ist) und wie kann ich das Problem lösen?
Wenn ich diese Seiten in meinem Browser lade, funktioniert alles gut.
Ich habe versucht, die folgenden Zeilen zu meinem app.config hinzufügen, aber das hilft auch nicht
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
Sie sind wahrscheinlich zur Erkennung nicht-Webbrowsern Sniffing User-Agent/Cookie/Header verwendet wird. Sie könnten versuchen, eine 'WebRequest' zu verwenden und eine Anfrage ähnlich Ihren Browsern zu erstellen. – alexn
Kannst du mir vielleicht mehr Informationen darüber geben? Vielleicht ein Link zu einem Tutorial oder etwas? – Flagbug