如何解决缺少“上次修改”标头的问题?

tsh*_*ang 14 wget web

我是这样跑的wget

wget --mirror --adjust-extension --convert-links --no-cookies http://tshepang.net -o log-main
Run Code Online (Sandbox Code Playgroud)

我收到一堆这样的消息:

Last-modified header missing -- time-stamps turned off.
Run Code Online (Sandbox Code Playgroud)

我想这意味着页面不断被重新下载,即使我在本地拥有它们。

注意:我想要这样,这样每次运行命令镜像时就不必重新下载现有文件。

Shi*_*nok 11

您是否尝试添加-c参数?

摘自 wget 手册:

-c --继续

从 Wget 1.7 开始,如果对非空文件使用 -c,结果服务器不支持继续下载,Wget 将拒绝从头开始下载,这会有效地破坏现有内容。如果您确实希望从头开始下载,请删除该文件。

同样从 Wget 1.7 开始,如果您对与服务器上的文件大小相同的文件使用 -c,Wget 将拒绝下载该文件并打印一条解释性消息。当服务器上的文件小于本地文件时,也会发生同样的情况(大概是因为自上次下载尝试后它在服务器上发生了更改)---因为“继续”没有意义,不会发生下载。

另一方面,在使用 -c 时,服务器上比本地大的任何文件都将被视为不完整的下载,并且只会下载并附加“(长度(远程)-长度(本地))”字节本地文件的结尾。在某些情况下,这种行为可能是可取的——例如,您可以使用 wget -c 只下载附加到数据收集或日志文件的新部分。

据我所知,它应该跳过已下载且大小相同的文件。