tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Turri
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
948
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ineedinput ineedinput ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    2
    Hallo!
    Das ist mein erster Post hier, deshalb schon mal:
    Guten Morgen an alle
    Ich lerne seit ca. 2 Wochen sehr intensiv C#, bin also noch Anfänger und habe ein Frage

    Zu meiner Frage:
    Ich möchte nur prüfen ob eine Website erreichbar oder aufrufbar ist bzw. ob eine "Unterseite" besteht!
    Beispiel:
    http://www.site.com/ = erreichbar
    Anfrage:
    http://www.site.com/verschicken.php = ist auf dem Server vorhanden oder nicht?

    Meine Idee:
    Die zu prüfenden "Unterseiten" sind in einem Array gespeichert und werden dann an die URL angehängt. Habe mich mit "Webclient" beschäftigt aber komme einfach nicht weiter.
    Kleine Hilfe wäre toll!
    Dankeschön (:

    lg ineedinput
     

  2. #2
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Hallo,

    willkommen im Forum.
    Ich würde mit einem HttpWebRequest (GET) arbeiten.

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    using System;
    using System.Net;
     
    .......
     
    string url = "http://www.site.com";  //hier geht auch [url]http://www.site.com/verschicken.php[/url]
    HttpWebRequest HttpReq = (HttpWebRequest)WebRequest.Create(url);
    HttpWebResponse response;
    try
    {
          response = (HttpWebResponse)HttpReq.GetResponse(); // hier kracht es, wenn eine Seite nicht erreichbar ist
    }
    catch (WebException ex)  
    {
          // Fehlermeldung und/oder andere Informationen zum Fehler ausgeben
          Console.WriteLine(ex.Message);
          Console.WriteLine(ex.StackTrace);
    }
    ....
    Geändert von Turri (10.01.11 um 15:15 Uhr)
     
    MfG Turri

    PS: Wenn ich helfen konnte, würde ich mich über ein Danke oder eine positive Bewertung freuen. :-)

  3. #3
    Avatar von zer0
    zer0 zer0 ist offline Mitglied Brokat
    Registriert seit
    Oct 2009
    Beiträge
    323
    Hallo und willkommen im Forum,

    du musst eigentlich nur eine HTTP GET Anfrage an den Server schicken, dieser antwortet mit Status-Code und Inhalt. Jetzt musst du nur den Status-Code vergleichen, 200 heißt alles Ok, 404 ist Seite nicht gefunden und so weiter.

    gruß
     
    Wenn dir mein Beitrag hilfreich war darfst du gerne Danke klicken! :)

    watch my blog @ websocialist.blogspot.com

  4. #4
    ineedinput ineedinput ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    2
    Wenn der Server nicht erreichbar ist, bricht das Programm ab, kann ich das Programm trotzdem weiter ausführen und den Status in eine Textbox schreiben? Müsste doch möglich sein.

    Continue?
     

  5. #5
    Avatar von zer0
    zer0 zer0 ist offline Mitglied Brokat
    Registriert seit
    Oct 2009
    Beiträge
    323
    Wie genau das bei C# funktionert kann ich dir leider nicht sagen, ich habe es nur mal mit Java gemacht.

    Es sollte aber eine Möglichkeit geben, den Status-Code abzufragen ohne Exceptions. Dabei macht es aber denke ich auch einen Unterschied ob der Server nicht vorhanden ist, oder ob die Datei auf ihm nicht vorhanden ist => 404.

    Gruß
     
    Wenn dir mein Beitrag hilfreich war darfst du gerne Danke klicken! :)

    watch my blog @ websocialist.blogspot.com

  6. #6
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Hallo,

    ohne Exception geht es in C# nicht.
    Den Status kannst du so prüfen.

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    HttpWebRequest HttpReq = (HttpWebRequest)WebRequest.Create("http://www.googl.de");
     
    HttpWebResponse response;
    try
    {
         response = (HttpWebResponse)HttpReq.GetResponse();
         // Console.WriteLine(response.StatusCode);
         // Console.WriteLine(response.StatusDescription);
    }
    catch (WebException ex)
    {
         response = (HttpWebResponse)ex.Response;
         // Console.WriteLine(response.StatusCode);
         // Console.WriteLine(response.StatusDescription);               
    }
     
    if (response.StatusCode == HttpStatusCode.NotFound)                
         Console.WriteLine("Seite nicht gefunden.");
    if (response.StatusCode == HttpStatusCode.OK)
         Console.WriteLine("Seite gefunden.");

    Du kannst natürlich noch auf andere StatusCodes prüfen,
    schau einfach mal was dir HttpStatusCode so zur Verfügung stellt.
    real-insanity bedankt sich. 
    MfG Turri

    PS: Wenn ich helfen konnte, würde ich mich über ein Danke oder eine positive Bewertung freuen. :-)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 16.03.10, 14:50
  2. Website nur teilweise erreichbar
    Von at0x im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 22.07.09, 08:14
  3. 3d Objekt in Website einbinden bzw. 3d website
    Von mikkele im Forum Sonstige 3D-Programme
    Antworten: 4
    Letzter Beitrag: 11.12.08, 14:32
  4. Antworten: 2
    Letzter Beitrag: 19.04.05, 15:26