Heavy: Wie kann man mit Perl eine Url auf Existenz prüfen ?!

Wie kann man mit Perl eine Url auf Existenz prüfen ?!

  1. hallo

    info "# GET URL $url ... "; # Meldung
      $ua = LWP::UserAgent->new();      # User-Agent erzeugen

    # Request erzeugen
      $request = HTTP::Request->new('GET', $url);
                                        # Netzzugriff ausführen
      $response = $ua->request($request);

    if($response->is_error) {         # Fehlerprüfung
          err "ERROR Code: ", $response->code(),
         " Message: ", $response->message(), "\n";
      }

    $doc = $response->content();      # Dokument OK
      info "OK\n";

    frag mich nicht zuviel davon.. das ist aus einem Script und ich glaube es sollte das machen was du willst... glaub.

    1. Hallo Ihr!

      Die Lösung von Björn ist IMHO besser, da dort nur der "Kopf" der Seite geholt wird, damit:

      $request = HTTP::Request->new('GET', $url);

      aber die ganze Seite. Erzeugt also unnütze Netzlast.

      Wenn Du allerdings die Seite, wenn sie existsiert, irgendwie weiterverarbeiten willst, ist ein überprüfen mit 'get' ggf. doch besser, denn sonst brauchst Du immer 2 Zugriffe. Ist also je nach Einsatzfall abzuwägen.

      Gruß Frank

      P.S. Im Archiv findest Du sicher  weitere Hinweise... ;-)

  2. Wie kann man mit Perl eine Url auf Existenz prüfen ?!

    perldoc lwpcook

    #!/usr/bin/perl -w
    use strict;
    use LWP::Simple;

    if (head('http://www.bjoernsworld.de/')) {
       # ok document exists
    }