Artikel im Internet unter http://www.hidemail.de/blog/lwp--simple---modulbeschreibung-in-deutsch.shtml.
Montag, 26.11.2007, 12:36:52 Uhr

LWP::Simple - Modulbeschreibung in Deutsch


Wie ich an den Zugriffszahlen meines Beitrages zu LWP::Simple gesehen habe, suchen offenbar viele nach einer Beschreibung oder Beispielen zu LWP::Simple.

Ich habe deswegen hier mal kurz die englische Beschreibung zu LWP::Simple ins Deutsche übersetzt.
(hier ist das Original in Englisch)

LWP::Simple - Ein einfaches Interface zu LWP


Beschreibung
LWP::Simple ist für Menschen gedacht, die einen einfachen Zugriff auf die libwww-perl-Library benötigen.
Außerdem ist LWP::Simple auch für Einzeiler, zum Beispiel in der Kommandozeile, gedacht.
Für mehr Kontrolle oder einen Zugriff auf die Header-Felder bei Zugriffen oder Abfragen sollte jedoch das komplette, objektorientierte LWP::UserAgent-Modul verwendet werden.

Folgende Funktionen werden von LWP::Simple unterstützt


get($url)

Holt ein Dokument anhand seiner URL und gibt es zurück.
Im Falle eines scheiterns wird ein undef zurückgegeben
Die URL kann als String oder als Referenz zu einem URI-Objekt angegeben werden.

Es ist nicht möglich, Header (z.B. Content-Type) des abgefragten Dokumentes oder Statuscodes auszulesen. Wenn man diese Informationen benötigt, sollte man zu LWP::UserAgent greifen.


head($url)

Der Kopf des Dokumentes. Es werden die 5 Werte $content_type, $document_length, $modified_time, $expires, $server im Erfolgsfall einer Abfrage zurückgegeben.
Im Mißerfolgsfall wird eine leere Liste zurückgegeben.

getprint($url)
getprint holt ein Dokument und schreibt es in ein vorgegebenes Filehandle, per default zu STDOUT.
Im Fehlerfall wird der Statuscode nach STDERR geschrieben.

Der Returnwert ist der HTTP-Statuscode.

getstore($url, $file)

Ruft ein Dokument ab und speichert es in eine Datei.
Der Return-Wert ist der HTTP-Statuscode.

mirror($url, $file)

Holt und speichert ein Dokument, falls ein If-modified-since und die Dokumenten-Länge sich verändert haben.
Gibt den Http-Statuscode zurück.


Dieses Modul gibt zusätzlich die HTTP::Status-Konstanten und -Funktionen.
Anhand dieser kann man einfach die Rückgabewerte von getprint(), getstore() or mirror() prüfen.
Diese 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

HTTP::Status-Funktionen sind:

is_success($rc)

True wenn erfolgreich

is_error($rc)

True wenn ein Fehler aufgetreten ist


Dieses Modul exportiert falls gewünscht das LWP::UserAgent-Object als $ua.


Vorsicht

Falls man das LWP::Simple und das CGI.pm-Modul gleichzeitig benutzt, werden möglicherweise von beiden Modulen die head-Funktionen importiert. Angezeigt wird dann die Warnung ""Prototype mismatch: sub main::head ($) vs none".
Umgehen kann man das Problem, indem man LWP::Simple's head() nicht importiert, etwa so:


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


Falls Sie das head() von LWP::Simple benötigen, kann es auch direkt per LWP::Simple::head($url) aufgerufen werden.

So, das war etwas frei übersetzt die Beschreibung von LWP::Simple.

Aber was da noch zu sagen wäre
Ich habe hier bereits beschrieben, daß LWP::Simple 180 Sekunden wartet, falls der Zielserver down ist. Wer das nicht möchte, kann ebenfalls hier darüber nachlesen, wie man das umgehen kann.




Artikel im Internet unter http://www.hidemail.de/blog/lwp--simple---modulbeschreibung-in-deutsch.shtml.