Wie kann man fehlende "zuletzt geänderte" Header umgehen?


11

Ich laufe wgetso:

wget --mirror --adjust-extension --convert-links --no-cookies http://tshepang.net -o log-main

Ich bekomme eine Reihe dieser Nachrichten:

Last-modified header missing -- time-stamps turned off.

Ich nehme an, das bedeutet, dass Seiten immer wieder heruntergeladen werden, obwohl ich sie lokal habe.

HINWEIS : Ich möchte dies, damit ich vorhandene Dateien nicht jedes Mal neu herunterladen muss, wenn ich den Befehlsspiegel ausführe.


Sind Sie der Eigentümer der Seite (wenn es wirklich tshepang.net ist). Wenn ja, ist der Webserver Apache und haben Sie die Kontrolle über seine Konfiguration? Oder ist .htaccess zumindest aktiviert, wenn das Überschreiben von Optionen zulässig ist?
Forcefsck

@forcefsck: Nein, die Seite wird von Posterous betrieben. Sie haben eine API zum Lesen aller Beiträge, aber es ist eine Lernkurve für mich diese Web-Technologie.
Tshepang

Antworten:


9

Haben Sie versucht, den -cParameter hinzuzufügen ?

Auszug aus dem wget-Handbuch:

-c - weiter

Ab Wget 1.7 weigert sich Wget, den Download von Grund auf neu zu starten, wenn Sie -c für eine nicht leere Datei verwenden und sich herausstellt, dass der Server das fortgesetzte Herunterladen nicht unterstützt, wodurch vorhandene Inhalte effektiv zerstört werden. Wenn der Download wirklich von vorne beginnen soll, entfernen Sie die Datei.

Ebenfalls ab Wget 1.7 lehnt Wget das Herunterladen der Datei ab und druckt eine erklärende Nachricht, wenn Sie -c für eine Datei verwenden, die genauso groß ist wie die auf dem Server. Das gleiche passiert, wenn die Datei auf dem Server kleiner als lokal ist (vermutlich, weil sie seit Ihrem letzten Downloadversuch auf dem Server geändert wurde) - weil "Fortfahren" nicht sinnvoll ist, findet kein Download statt.

Auf der anderen Seite der Medaille wird bei Verwendung von -c jede Datei, die auf dem Server größer als lokal ist, als unvollständiger Download betrachtet, und nur "(Länge (remote) - Länge (lokal))" Bytes werden heruntergeladen und angeheftet das Ende der lokalen Datei. Dieses Verhalten kann in bestimmten Fällen wünschenswert sein. Beispielsweise können Sie mit wget -c nur den neuen Teil herunterladen, der an eine Datenerfassungs- oder Protokolldatei angehängt wurde.

Meines Wissens sollte es Dateien überspringen, die bereits heruntergeladen wurden und dieselbe Größe haben.


Was ist, wenn die Datei kleiner ist?
CJ7
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.