TS: Webseite erreichbar, überprüfen!

Beitrag lesen

Hello,

Dafür benötigst Du einen Head-Request.

Das Ganze ist aber im Prinzip zweistufig. Zuerst muss man einen Socket zum entfernten Server aufbauen. Und dann kann man den eigentlichen HTTP/s-HEAD-Request ausführen.

Der zurückgelieferte Status gibt dann Auskunft über den Erfolg, oder ob die Webseite woanders liegt, usw.

Socket aufbauen mit fsockopen(). Dort findest Du auch Beispiele.

Mit file_get_contents() geht das auch in einem Schritt. Du musst ja nur ein Byte der Datei des Dokumentes (Ressource) anfordern. Dann bekommst Du bei Erfolg die Header und das eine Byte.

Das hat aber zwei Pferdefüße.

  • Die Wrapper für HTTP/s und file_get_contents müssen erlaubt sein.
  • Dir geht die genaue Information verloren, in welcher Stufe ggf. ein Fehler (z. B: Timeout) aufgetreten ist, also ob der Host nicht erreichbar war, oder der HTTP-Server, oder die Ressource selbst.
  • Du kannst die Timeouts nicht explizit setzen, wobei es da für file_get_contents() einen "Konext-Parameter" gibt. Der ist aber nur umständlich zu erstellen.

Im Archiv findest Du auch ein paar tiefergehende Gedanken dazu. Da war wohl noch ein Schönheitsfehler drin, aber den findest Du bestimmt :-)
Es gibt aber auch irgendwo eine überarbeitete Version mit substantiierten Fehlermeldung und auch für HTTPS, bzw, andere Ports als 80. Finde ich aber jetzt nicht.

Das Prinzip sollte Dir aber klar werden können.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.