You are here: Perldoc Web>LWPSimple (2006-07-26)
Dokumentation | Download als POD | Wie kann ich hier etwas ändern?

BEZEICHNUNG

LWP::Simple - einfache, prozedurelle Schnittstelle zu LWP

"ÜBERSICHT"

 perl -MLWP::Simple -e 'getprint "http://www.sn.no"'

 use LWP::Simple;
 $inhalt = get("http://www.sn.no/");
 die "Fehler beim Aufruf!" unless defined $inhalt;

 if (mirror("http://www.sn.no/", "foo") == RC_NOT_MODIFIED) {
     ...
 }

 if (is_success(getprint("http://www.sn.no/"))) {
     ...
 }

BESCHREIBUNG

Diese Modul ist für Leute gedacht, die eine einfache Benutzung der libwww-perl-Bibliothek benötigen. Es ist auch für einzeilige Skripte auf der Kommandozeile geeignet. Wenn Sie mehr Kontrolle oder Zugriff auf die Header-Felder in den Anfragen und Antworten benötigen, verwenden Sie die volle, objektorientierte Schnittstelle von LWP::UserAgent .

Die folgenden Funktionen werden vom Modul bereitgestellt (und exportiert):

get($url)

Die Funktion get() ruft das Dokument an der genannten URL auf und gibt es zurück. Die Funktion gibt undef zurück, falls ein Fehler auftritt. Das Argument $url kann entweder ein einfacher String oder eine Referenz auf ein URI-Objekt.

Wenn Sie auf das Internet mittels dieser Funktion zugreifen, können Sie keinen Zugriff auf den Statuscode oder die zurückgegebenen Header (wie 'Content-Type') erhalten. Wenn Sie diese Informationen benötigen, benutzen Sie die volle objektorientierte Schnittstelle (siehe LWP::UserAgent?).

head($url)

Ruft die Dokument-Header auf. Gibt im Erfolgsfall die folgenden 5 Werte zurück: ($Inhaltstyp, $Dokumentlänge, $letzte_Änderung, $läuft_ab, $Server).

Gibt eine leere Liste zurück, falls ein Fehler auftritt. In skalarem Kontext gibt die Funktion im Erfolgsfall WAHR zurück.

getprint($url)

Ruft das Dokument an der genannten URL auf und zeigt es an. Das Dokument wird so an das Standard-Dateihandle für Ausgabe (normalerweise STDOUT) ausgegeben, wie es aus dem Netzwerk empfangen wird. Wenn bei der Anfrage ein Fehler auftritt, werden Statuscode und Nachricht auf STDERR ausgegeben. Gibt den HTTP-Statuscode zurück.

getstore($url, $datei)

Ruft das Dokument an der genannten URL auf und speichert es in der Datei. Gibt den HTTP-Statuscode zurück.

mirror($url, $datei)

Ruft das Dokument an der genannten URL auf und speichert es unter Verwendung von If-modified-since und unter Überprüfung von Content-Length . Gibt den HTTP-Statuscode zurück.

Diese Modul exportiert auch die HTTP::Status-Konstanten und Funktionen. Diese können auch beim Überprüfen der HTTP-Statuscodes mittels getprint(), getstore() oderr mirror() verwendet werden. Die Konstanten sind:

   RC_CONTINUE
   RC_SWITCHING_PROTOCOLS
   RC_OK
   RC_CREATED
   RC_ACCEPTED
   RC_NON_AUTHORITATIVE_INFORMATION
   RC_NO_CONTENT
   RC_RESET_CONTENT
   RC_PARTIAL_CONTENT
   RC_MULTIPLE_CHOICES
   RC_MOVED_PERMANENTLY
   RC_MOVED_TEMPORARILY
   RC_SEE_OTHER
   RC_NOT_MODIFIED
   RC_USE_PROXY
   RC_BAD_REQUEST
   RC_UNAUTHORIZED
   RC_PAYMENT_REQUIRED
   RC_FORBIDDEN
   RC_NOT_FOUND
   RC_METHOD_NOT_ALLOWED
   RC_NOT_ACCEPTABLE
   RC_PROXY_AUTHENTICATION_REQUIRED
   RC_REQUEST_TIMEOUT
   RC_CONFLICT
   RC_GONE
   RC_LENGTH_REQUIRED
   RC_PRECONDITION_FAILED
   RC_REQUEST_ENTITY_TOO_LARGE
   RC_REQUEST_URI_TOO_LARGE
   RC_UNSUPPORTED_MEDIA_TYPE
   RC_INTERNAL_SERVER_ERROR
   RC_NOT_IMPLEMENTED
   RC_BAD_GATEWAY
   RC_SERVICE_UNAVAILABLE
   RC_GATEWAY_TIMEOUT
   RC_HTTP_VERSION_NOT_SUPPORTED

Die HTTP::Status-Funktionen sind:

is_success($statuscode)

Wahr, wenn der Statuscode eine erfolgreiche Anfrage angibt.

is_error($statuscode)

Wahr, wenn der Statuscode angibt, das ein Fehler aufgetreten ist.

Dieses Modul exportiert optional auch das LWP::UserAgent-Objekt als $ua .

Das Module verwendet "LWP::Simple/#.##" (wobei "#.##" die libwww-perl Version angibt) als User-Agent und benutzt den Proxy aus den Umgebungsvariablen (durch Aufruf von $ua->env_proxy).

WARNUNG

Beachten Sie, dass wenn Sie LWP::Simple und das CGI.pm-Modul benutzen, Sie möglicherweise aus jedem Modul eine head -Function importieren. Dies erzeigt eine Warnung wie "Prototype mismatch: sub main::head ($) vs none". Meiden Sie dieses Problem indem Sie die head -Funktion aus LWP::Simple nicht importieren, etwa so:

        use LWP::Simple qw(!head);
        use CGI qw(:standard);  # hier definiert nur CGI.pm head()

Wenn Sie dann die head -Funktion aus LWP::Simple benötigen, rufen Sie sie mittels LWP::Simple::head($url) auf.

"SIEHE AUCH"

LWP?, lwpcook?, LWP::UserAgent?, HTTP::Status?, lwp-request?, lwp-mirror?

ÜBERSETZUNG

Florian Taus (florian.taus (at) hotmail.com).

Topic attachments
I Attachment Action Size Date Who Comment
LWP-Simple.pmpm LWP-Simple.pm manage 9.4 K 2006-07-26 - 16:26 FlorianTaus LWP::Simple Version 1.41 (deutsch)
Topic revision: r1 - 2006-07-26 - 15:30:00 - FlorianTaus
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.