Frage

eine Datei auf einem Webserver Given (zB http://foo.com/bar.zip -> nur über HTTP), ist es eine Möglichkeit, das Datum Attribute (zB Datum zu erhalten [erstellt, verändert]), ohne das gesamte Archiv in erster Linie Download

Im Moment ich das Archiv herunterladen und die Attribute programmatisch lesen. Das Problem ist, dass das Archiv Dutzende von MiB ist, so dass es wie eine Verschwendung von Ressourcen scheint die ganze Sache herunter zu laden und nur ein paar Bytes Informationen abliest enden.

Ich stelle fest, dass die Bandbreite praktisch frei ist, aber ich weiß nicht, wie in jedem Fall verschwenderisch sein.

War es hilfreich?

Lösung

Versuchen Sie Last-Modified von Header zu lesen

Andere Tipps

Achten Sie darauf, eine HTTP HEAD-Anforderung verwenden statt einer HTTP-GET-Anforderung nur die HTTP-Header zu lesen. Wenn Sie ein HTTP GET tun, werden Sie die ganze Datei herunterladen trotzdem, auch wenn Sie nur die HTTP-Header.

zu inspizieren entscheiden

Nur aus Gründen der Einfachheit ist hier eine Zusammenstellung der bestehenden (perfekt) Antworten von @ihorko und @ JanThomä, dass Anwendungen locken. Andere Option ist auch vorhanden, natürlich, aber hier ist eine voll funktionsfähige Antwort.

Mit curl mit der -I Option:

  

-I, --head
  (HTTP / FTP / FILE) Holt den HTTP-Header nur! HTTP-Server verfügen über den Befehl HEAD, die diese Anwendungen nichts anderes als den Header eines Dokuments zu erhalten. Wenn nur auf einem FTP- oder FILE-Datei, curl zeigt die Dateigröße und Zeitpunkt der letzten Änderung verwendet.

Auch die -s Option ist schön hier:

  

-s, --silent
  Stille oder Ruhe-Modus. Nicht Statusanzeige oder Fehlermeldungen angezeigt. Macht Locken stumm. Es wird immer noch geben die Daten, die Sie fordern, möglicherweise sogar an das Terminal / stdout, wenn Sie es umleiten.

So etwas wie dies würde den Trick tun:

curl -sI http://foo.com/bar.zip | grep 'Last-Modified' | cut -d' ' -f 2-
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top