Ich möchte einfachen Text mit WebRequest-Klasse erhalten, genau wie wir bekommen, wenn wir webbrowser1.Document.Body.InnerText
verwenden. Ich habe den folgenden Code versuchtWie bekomme ich Klartext von der Antwort einer WebRequest-Klasse in C#
public string request_Resource()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myurl);
Stream stream = request.GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(stream);
WebBrowser wb = new WebBrowser();
wb.DocumentText = sr.ReadToEnd();
return wb.Document.Body.InnerText;
}
wenn ich ausführen dies ist ein NullReferenceException
bekommen.
Gibt es eine bessere Möglichkeit, einen einfachen Text zu erhalten.
Hinweis: Ich kann die Webbrowsersteuerung nicht direkt zum Laden der Webseite verwenden, da ich nicht mit all diesen Ereignissen arbeiten möchte, die mehrfach ausgelöst werden, wenn eine Seite geladen wird.
UPDATE: Ich habe meinen Code geändert WebClient Klasse statt WebRequest auf Anregung verwenden Mein Code sieht ungefähr so jetzt
public string request_Resource()
{
WebClient wc = new WebClient();
wc.Proxy = null;
//The user agent header is added to avoid any possible errors
wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 (.NET CLR 3.5.30729; .NET4.0C)");
return wc.DownloadString(myurl);
}
Ich erwäge HTML-Code Hilfspaket verwenden, kann jeder jemand empfehlen bessere Alternative.
Einer der Vorschlag von @SLaks, habe ich HTML Utility Pack überprüft, kann jemand eine einfache Lösung vorschlagen, ohne 3rd Party Bibliotheken zu verwenden. Vielen Dank – Vamsi
Überprüfen Sie diese SO-Antwort für die Verwendung von Html Agility Pack - http://Stackoverflow.com/questions/2785092/c-hthmagilitypack-extract-inner-text/2785108#2785108 –
Danke Ihnen allen für das HTML-Dienstprogramm Pack Vorschlag, werde ich definitiv darüber nachdenken, aber bevor das getan wird, kann jeder andere Möglichkeit vorschlagen, dies zu tun. Kommen zu der Webclient-Klasse, ich habe bereits meinen Code geändert – Vamsi