IP oder Seite anpingen

vom 30.05.2011, 17:11 Uhr

Ich würde gerne ein kleines Script schreiben. Das Script soll für mich schauen ob ein Link zu einer Webseite funktioniert oder ob die Seite nicht gefunden wird. Ich weiß das man in der CMD in Windows den Befehl ping benutzen kann um die Verbindung zu Domains zu testen.

Ich kann bis jetzt nur etwas PHP, was aber eigentlich auch reichen sollte. Da alle der zu prüfenden Internetseiten in meiner Datenbank stehen und das Script über Nacht laufen soll. Ich habe in PHP auch schon mich etwas umgeschaut nach einer geeigneten Funktion, aber leider ohne Erfolg.

Ich möchte die Seiten nicht nur testen ob sie on- oder offline sind. Viele große Internetseiten haben tausende Unterseiten, welche auch öfter gelöscht werden. Deshalb kommen bei diesen Seiten zwar Fehlermeldungen, aber die Seite ist eigentlich erreichbar. Es wird einem allerdings eine 404 Fehlermeldung von der Seite angezeigt. Wenn man so etwas noch prüfen könnte, wäre das ziemlich praktisch. Mir fällt leider kein Weg ein dies zu prüfen. Hat von euch vielleicht jemand eine Idee?

Benutzeravatar

» hennessy221 » Beiträge: 5132 » Talkpoints: -1,94 » Auszeichnung für 5000 Beiträge



Das sollte sich eigentlich relativ einfach umsetzen lassen. Möchte man eine Domain auf Verfügbarkeit prüfen reicht es einfach, wenn man diese mit "fsockopen" versucht zu "öffnen". Gelingt dies ist sie erreichbar andernfalls nicht.

Möchte man zusätzlich noch die Verfügbarkeit einer Seite prüfen sendet man einfach mit "fputs" eine HTTP-Anfrage und wertet die Antwort (zu erhalten mit "fgets") anschließend aus. Informationen zu den entsprechenden Funktionen findest du in der PHP Dokumentation.

Benutzeravatar

» Smoon » Beiträge: 440 » Talkpoints: 2,83 » Auszeichnung für 100 Beiträge


Hallo hennessy221,die simple Methode mit fsockopen() wäre sicherlich die schnellste und am einfachsten zu bedienende. Wenn du die Header Informationen ausliest kannst du schnell und einfach entscheiden ob die Seite online/offline ist (ist fsockopen() false ist sie offline) und wenn die aufgerufene Seite (der Server) zwar online ist, aber die Seite einen 404 Fehler sendet, kannst du das ebenfalls aus den Header Informationen erkennen.Für den Fall das du nur eine Seitenadresse in deiner Datenbank hast und dein Script selbstständig prüfen soll ob die Links und Unterseiten funktionieren wird es etwas komplizierter.

Hier empfehle ich dir die Snoopy class. Das ist eine Klasse die ebenfalls fsockopen verwendet und bereits viele Funktionen die dir bei der Umsetzung deines Projektes helfen werden mitbringt. Unter anderem kannst du hier zum Beispiel alle Links einer Webseite in einem Array ausgeben lassen und die in deiner Datenbank speichern. Die kannst du dann wieder gezielt darauf überprüfen ob sie gegebenenfalls online oder offline bzw. nicht mehr existent sind (404). Es wäre sogar möglich den Gesamtinhalt der Seiten in deiner Datenbank zu speichern um im Nachhinein Veränderungen an den Seiten feststellen zu können. Aber danach hattest du ja bislang nicht gefragt.

» Bluescreen » Beiträge: 4 » Talkpoints: 3,06 »



Ähnliche Themen

Weitere interessante Themen

^