Überprüfung einer URL auf Existenz
Beate Mielke
- perl
Hallo ForumerInnen,
weiss jemand, ob es in Perl noch eine andere Möglichkeit ausser nslookup gibt, die Existenz einer URL relativ sschnell zu ueberpruefen?
Viele Gruesse
Beate Mielke
Hi Beate!
mit
use LWP::Simple;
my $file = get('http://www...../file.ext');
kriegst Du zumindest raus, ob das File existiert.
Gruß Frank
Hallo Frank und Dennis,
merci - ich werd mal beide Versionen ausprobieren.
Viele Gruesse
Beate Mielke
Hi Leut's
mit
use LWP::Simple;
my $file = get('http://www...../file.ext');
kriegst Du zumindest raus, ob das File existiert.
Yoh, aber head() statt get() ist etwas leitungsfreundlicher. Damit werden naemlich nur die HTTP-Header geholt, nicht gleich das ganze Dokument.
Leider wird in beiden Faellen jedoch nicht zurueckgegeben, welcher Fehler aufgetreten ist. Will man das genau wissen, muss man auf LWP::UserAgent umsteigen. In der Dokumentation zu LWP ist gut erklaert, wie das geht,
So lange
Yoh, aber head() statt get() ist etwas leitungsfreundlicher. Damit werden naemlich nur die HTTP-Header geholt, nicht gleich das ganze Dokument.
Leider wird in beiden Faellen jedoch nicht zurueckgegeben, welcher Fehler aufgetreten ist. Will man das genau wissen, muss man auf LWP::UserAgent umsteigen. In der Dokumentation zu LWP ist gut erklaert, wie das geht,
Hallo Roland,
kannst Du mir einen Tip geben, wo ich die Doku zu head() finde?
viele Gruesse
Beate
Hi,
kannst Du mir einen Tip geben, wo ich die Doku zu head() finde?
tipp mal auf Deinem System folgendes ein:
perldoc LWP::Simple
Dort findest Du alles, was Du dazu wissen mußt. Wenn Du ActivePerl installiert hast, ist die Doku übrigens auch im HTML-Format vorhanden.
Cheatah
Hallo Beate!
Du mußt ganz schlicht und einfach einen PING-Befehl absetzen.
system("ping -c1 -w1 -q <URL>")
Dabei besteht die URL einfach aus dem Server
(ohne HTTP:// o.ä.)
wäre dazu der Befehl. Frag mich aber nicht, ob dein
Provider Systembefehle überhaupt zulässt.
Wenn der System-Befehl eine 0 zurückgibt, gibt es die
URL.
Bis dann,
Dennis