Mit dem folgenden kleinen Snippet könnt ihr den Quelltext einer Webseite auslesen und in einem string speichern.
Solch eine Funktion eignet sich zum Beispiel, wenn man einzelne Informationen aus einer Webseite parsen und anderweitig benutzen will.
Damit das Snippet funktioniert, müsst ihr eurem Quelltext folgende beide Using-Direktiven hinzufügen.
using System.Net; using System.IO; //Snippet von www.code-bude.net
Die Funktion zum Download des Quelltextes sieht dann wie folgt aus:
public string getHTML(string url) { //Anfrage an die Übergebene URL starten HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); //Antwort-Objekt erstellen HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //Antwort Stream an Streamreader übergeben StreamReader sr = new StreamReader(response.GetResponseStream()); //Antwort (HTML Code) auslesen string html = sr.ReadToEnd(); //Streamreader und Webanfrage schließen sr.Close(); response.Close(); //Quellcode zurückgeben return html; } //Snippet von www.code-bude.net
Ein Aufruf der Funktion könnte zum Beispiel so aussehen:
getHTML("http://www.code-bude.net"); //Snippet von www.code-bude.net
Solltet ihr Verbesserungsvorschläge oder sogar Probleme mit dem Snippet haben, schreibt mir einen Kommentar.
Viele Grüße,
Raffi
Genau was ich gesucht habe, Danke!
Wieso schreibst du so ein Bullshit zusammen? unfähig wie normale lebewesen zu coden? ich empfehle dir Selbstmord zu begehen!
Was ist denn mit dir verkehrt? Ist die Luft in Tamm etwas dünn? Der oben dargestellt Quellcode funktioniert einwandfrei und entspricht dem, was in Überschrift und Anreißer versprochen wird.
Zu “unfähig wie normale lebewesen zu coden” brauch ich ja mal nichts zu sagen. Wenn du es selbst hinbekommen hättest, wärst du nicht auf diesen Artikel gestoßen, da du nicht nach einer solchen Lösung hättest suchen müssen. Also lieber mal kleinere Brötchen backen…
Vielen Dank, genau das hab ich gebraucht.
Und gut erklärt, super!
Hallo Danny,
danke für die Anmerkung. Den Webclient kenne ich auch. Du hast Recht, in diesem Falle hätte der Webclient auch gereicht. Im Endeffekt ist er ja auch nur ein Wrapper um HttpWebWebrequest. Ich hatte im Hinterkopf einfach nur die vielfältigeren Erweiterungsmöglichkeiten der Klasse, die einem mit dem HttpWebRequest zur Verfügung stehen.
Viele Grüße,
Raffi
Etwas kürzer gehts auch mit dem Webclient:
WebClient webClient = new WebClient();
string quelltext = webClient.DownloadString(“http://code-bude.net”);