HTTP-Statuscode einer Webseite mit C# ermitteln 👍 👎

Hin und wieder kann es – beispielsweise im Rahmen eines Monitorings - erforderlich sein, den HTTP-Statuscode einer Webseite zu ermitteln. Das lässt sich mit C# grundsätzlich bereits mit wenigen Zeilen lösen:
Hilfsmethode
01020304050607
public static HttpStatusCode GetHttpStatusCode(Uri uri) {    HttpWebRequest httpWebRequest = WebRequest.CreateHttp(uri);
using(HttpWebResponse webResponse = (HttpWebResponse) httpWebRequest.GetResponse()) { return webResponse.StatusCode; }}
In der Praxis möchte man vermutlich zumindest noch das Weiterleitungs- und Zwischenspeicherverhalten konfigurieren, daher bietet es sich an, unsere Methode entsprechend zu erweitern:
Hilfsmethode (erweitert)
010203040506070809101112131415
public static HttpStatusCode GetHttpStatusCode(    Uri uri,    bool allowAutoRedirect = false,    RequestCacheLevel requestCacheLevel = RequestCacheLevel.NoCacheNoStore) {    HttpWebRequest httpWebRequest = WebRequest.CreateHttp(uri);    {        httpWebRequest.AllowAutoRedirect = allowAutoRedirect;        httpWebRequest.CachePolicy = new RequestCachePolicy(requestCacheLevel);    }
using(HttpWebResponse webResponse = (HttpWebResponse) httpWebRequest.GetResponse()) { return webResponse.StatusCode; }}
Die Verwendung gestaltet sich nun sehr intuitiv:
Hilfsmethode verwenden
01020304
Uri uri = new Uri("https://ccc.coders-online.net/");
HttpStatusCode statusCode = GetHttpStatusCode(uri); // Found (302)statusCode = GetHttpStatusCode(uri, true); // OK (200)
Wenn ihr den Wert der HttpStatusCode-Aufzählung zu int konvertiert erhaltet ihr im Übrigen den entsprechenden numerischen Wert nach Definition des HTTP-Protokolls.


Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche