Wie bekomme ich die ultimative URL ohne das abrufen der Seiten mit Perl und LWP?
Ich bin dabei einige web-scraping mit Perl-LWP. Ich muss eine Menge verarbeiten von URLs, von denen einige möglicherweise umleiten (1 oder mehr mal).
Wie bekomme ich die ultimative URL mit alle Umleitungen gelöst, mit Hilfe von HEAD-Methode?
- Dies ist ein dupe von stackoverflow.com/questions/2010366/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die voll funktionsfähige version von LWP::UserAgent, dann ist die Antwort, die zurückgegeben wird, wird eine Instanz von HTTP::Response die wiederum hat als Attribut eine HTTP::Request. Beachten Sie, dass dies NICHT unbedingt die gleichen HTTP::Request dass Sie erstellt haben, die original-URL in Ihre URL-Liste, wie beschrieben, in der HTTP::Response Dokumentation für die Methode zum abrufen der Anfrage-Instanz innerhalb des response-Beispiel:
Sobald Sie das Anfrage-Objekt verwenden, können Sie die uri-Methode, um den URI. Wenn redirects verwendet wurden, die URI ist das Ergebnis der folgenden Kette von Weiterleitungen.
Hier ist ein Perl-script, getestet und geprüft, das gibt Ihnen das Skelett von dem, was Sie brauchen:
Wie gesagt in perldoc LWP::UserAgent, ist der Standard zu befolgen, Umleitungen für
GET
undHEAD
Anforderungen:Hier ist ein Beispiel:
Ausgabe:
$ua->show_progress(1);