Beate Mielke: Überprüfung einer URL auf Existenz

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

  1. Hi Beate!

    mit
    use LWP::Simple;
    my $file = get('http://www...../file.ext');

    kriegst Du zumindest raus, ob das File existiert.

    Gruß Frank

    1. Hallo Frank und Dennis,

      merci - ich werd mal beide Versionen ausprobieren.

      Viele Gruesse

      Beate Mielke

    2. 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

      1. 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

        1. 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

  2. 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