Webseite erreichbar, überprüfen!
bearbeitet von TSHello,
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()](https://www.php.net/manual/en/function.fsockopen). Dort findest Du auch Beispiele.
Mit [file_get_contents()](https://www.php.net/manual/en/function.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 ](https://forum.selfhtml.org/self/2017/jan/11/php-url-open/1684209#m1684209)findest Du auch ein paar tiefergehende Gedanken dazu. Da war wohl noch ein Schönheitsfehler drin, aber den findest Du bestimmt :-)
Glück Auf
Tom vom Berg
--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.
Webseite erreichbar, überprüfen!
bearbeitet von TSHello,
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()](https://www.php.net/manual/en/function.fsockopen). Dort findest Du auch Beispiele.
Mit [file_get_contents()](https://www.php.net/manual/en/function.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.
Glück Auf
Tom vom Berg
--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.
Webseite erreichbar, überprüfen!
bearbeitet von TSHello,
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()](https://www.php.net/manual/en/function.fsockopen). Dort findest Du auch Beispiele.
Mit [file_get_contents()](https://www.php.net/manual/en/function.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.
- Dirgeht 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.
Glück Auf
Tom vom Berg
--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.