Quelltext einer Webseite mit C# einlesen 👍 👎

Manchmal kann es sinnvoll sein, den Quelltext einer Webseite automatisiert abzurufen, beispielsweise um Tests durchzuführen. Dies lässt sich in C# sehr einfach über die HttpWebRequest-Klasse lösen:
Quelltext per HttpWebRequest einlesen
01020304050607
HttpWebRequest request = HttpWebRequest.CreateHttp("http://domain.tld/");
using(WebResponse response = request.GetResponse()) { using(StreamReader streamReader = new StreamReader(response.GetResponseStream())) { string content = streamReader.ReadToEnd(); }}
Noch kompakter lässt sich das Ganze mit Hilfe der Klassen WebClient oder HttpClient lösen:
Quelltext per WebClient oder HttpClient einlesen
010203040506070809101112131415161718
  // WebClientusing(WebClient webClient = new WebClient()) {      // blockierend    string content = webClient.DownloadString("http://domain.tld/");
// nicht blockierend webClient.DownloadStringCompleted += (sender, e) => { string content = e.Result; };
webClient.DownloadStringAsync(new Uri("http://domain.tld/"));}

// HttpClientusing(HttpClient httpClient = new HttpClient()) { string content = await httpClient.GetStringAsync("http://domain.tld/");}
Abschließend sei bemerkt, dass diese Möglichkeit nicht für fragliche Aktionen genutzt werden sollte – dazu gehört im Übrigen auch schlicht unnötiger Traffic. Smiley: winking


Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche