none
Aus der App-Entwickler Hotline: Wie kann ich überprüfen, ob eine Ressource auf eine Webseite verfügbar ist? RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,
    heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

    Wie kann ich überprüfen, ob eine Ressource auf eine Webseite verfügbar ist?

    Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

    Dies kann man feststellen indem ein HTTP-Head-Request aufgebaut wird, welches den Responsecode des Servers analysiert. Ein Head-Request liefert alle Headers einer Adresse, wie bei einem normalen Get-Request, dabei wird der Body des Dokuments nicht mitgeliefert (siehe [1]). Ein Codebeispiel für eine solche Funktion in C# sieht so aus:

    public static bool CheckUrlExists(Uri targetUri)
    {
         try
         {
              HttpWebRequest HttpRequest = WebRequest.Create(targetUri) as HttpWebRequest;
              HttpRequest.Method = "HEAD";
              HttpWebResponse HttpResponse = HttpRequest.GetResponse() as HttpWebResponse;
              int StatusCode = (int)HttpResponse.StatusCode;
              if (StatusCode >= 100 && StatusCode < 400)
              {
                   return true;
              }
              else if (StatusCode >= 500 && StatusCode <= 510)
              {
                   return false;
              }
              return false;
         }
         catch
         {
               return false;
         }
    }
    

    Eine Liste mit allen möglichen HTTP-Responsecodes kann man unter [2] finden.

    [1] http://ochronus.com/http-head-request-good-uses/#.Uh4YHCTwCUk
    [2] http://de.wikipedia.org/wiki/HTTP-Statuscode

    Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

    Viele Grüße,
    Hristo Valev
    App-Entwickler-Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

    Mittwoch, 28. August 2013 15:47