Thread www::mechanize - Dateigröße abfragen (4 answers)
Opened by qwe123qwe at 2018-11-24 12:18

haj
 2018-11-24 12:44
#189291 #189291
User since
2015-01-07
527 Artikel
BenutzerIn

user image
Die im HTTP-Standard dafür vorgesehene Methode ist ein HEAD-Request, und den kann man mit den gängigen Perl-UserAgents absetzen. Bei statischen Dateien (Bilder, PDF, ...) funktioniert das recht zuverlässig. Die Länge findet man dann im Header Content-Length, den man bei WWW::Mechanize und LWP::UserAgent mit der Methode $response->content_length abfragen kann. Das ist in der Dokumentation etwas versteckt durch die mehrfache Vererbung, implementiert ist die Methode in CPAN:HTTP::Headers.

Drei unergiebige Fälle habe ich schon beobachtet:

  • Manche Web-Server verbieten HEAD - das sieht man dann am Status.
  • Manche Server schicken auch beim HEAD-Request den ganzen Body mit, entgegen dem Standard.
  • Manche Server schicken beim HEAD-Request keinen Content-Length Header.

Die letzten beiden Fälle sieht man gelegentlich bei Wiki-Engines, die die Content-Length gar nicht beurteilen können, ohne die Seite dynamisch aufzubauen. Je nachdem, welche dynamische Inhalte da generiert werden, kann die Länge beim nächsten Aufruf schon wieder anders sein.

View full thread www::mechanize - Dateigröße abfragen