![如何使用多次中断的 wget:s 下载大型网站?](https://linux22.com/image/1067678/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%A4%9A%E6%AC%A1%E4%B8%AD%E6%96%AD%E7%9A%84%20wget%3As%20%E4%B8%8B%E8%BD%BD%E5%A4%A7%E5%9E%8B%E7%BD%91%E7%AB%99%EF%BC%9F.png)
我正在尝试使用 wget 下载一个网站,但该网站太大了,我无法一次性完成所有操作。问题是服务器总是报告有新文件,当我恢复下载时,wget 会创建 filename.1、filename.2 ... 等,但我知道这些文件没有改变,或者即使它们改变了我也不在乎。有没有办法关闭时间戳检查并让 wget 假设同名文件是当前文件?
答案1
我认为您实际上是在问如何恢复大文件的中断下载。为了使它工作,服务器必须在标头中指定文件的大小。否则,大多数工具(不是全部)都不会恢复下载,并且始终从头开始,直到它们不再从服务器接收任何位。您可以content-length
通过运行来手动检查标头中是否指定了该属性curl -I <url
。
例如,我们可以检查 askubuntu 页面徽标的标题:
$ curl -I https://cdn.sstatic.net/Sites/askubuntu/img/logo.svg
HTTP/2 200
cache-control: max-age=604800
content-type: image/svg+xml
last-modified: Wed, 22 Jan 2020 23:01:03 GMT
accept-ranges: bytes
date: Thu, 23 Jan 2020 14:30:06 GMT
via: 1.1 varnish
age: 0
x-served-by: cache-mxp19838-MXP
x-cache: MISS
x-cache-hits: 0
x-timer: S1579789807.662934,VS0,VE117
vary: Accept-Encoding
content-length: 11748
您可以在最底部看到content-length: 11748
,如果下载中断,它可以wget
恢复下载。
此外,您可以使用ariac
而不是wget
,在我看来,它可以更好地处理中断的下载。