Ich benutze LWP, um Inhalt von Webseiten herunterzuladen, und ich möchte die Zeit, die es auf eine Seite wartet, beschränken. Dies wird in lwp wie dies erreicht:Handle LWP Timeout effektiv
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->get($url);
Und das funktioniert gut, mit Ausnahme, wenn das Timeout erreicht seine Grenze, es ist nur stirbt, und ich kann mit dem Skript nicht weiter auf! Ich würde dieses Zeitlimit wirklich gerne richtig behandeln, damit ich aufzeichnen kann, dass die URL eine Zeitüberschreitung hatte, und dann mit meiner nächsten fortfahren. Weiß jemand, wie man das macht? Vielen Dank!
Vielen Dank! Das ist wirklich nützlich. Ich habe es getestet und aus irgendeinem Grund, auch wenn es eine Zeitüberschreitung gibt, kommt es nicht in diese zweite Anweisung. "Lese-Timeout" ist der Inhalt von $ response-> message. Weißt du, warum es für die zweite if-Anweisung nicht als wahr gilt? – srchulo
Ich weiß es nicht genau. Hast du "HTTP :: Status" benutzt? Was sind die tatsächlichen Werte von '$ response-> message' und' $ response-> code'? Ist es eine tatsächliche Zeitüberschreitung (Code 408)? – stevenl
Ich habe den Code genau so verwendet, wie er über "HTTP :: Status :: HTTP_REQUEST_TIMEOUT" ist. $ response-> message enthält "read timeout" und $ response-> code für "500". – srchulo