程序喜欢curl
或wget
有选项--continue
(wget
)和--continue-at
(curl
),它允许您恢复中断的下载,提供数据尚未被破坏。
wget
默认情况下会在发生中断时自动尝试恢复下载,因此您不必担心传输不稳定。
curl
的--continue-at
选项通常需要一个数字值,但如果你传递它-
而不是数字,它将使用其输出文件来确定它应该从哪个点开始下载。
样本用法(来自man wget
)wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
,curl ftp://sunsite.doc.ic.ac.uk/ls-lR.Z -o myfile.Z --continue-at -
如果您需要使用某些特定的cookie,标题,发送POST数据或接收文件的任何内容,现代浏览器(通过开发人员工具面板,即F12)允许您复制curl
可用于访问该资源的请求命令。(见图)
火狐:
铬:
只需复制它curl
,然后粘贴到控制台附加适当的标志。如果命令失败,您可以curl
再次呼叫(cookie可能无效,因此您可能需要向浏览器询问新curl
命令)并继续下载。
这可能看起来像是获得命令的复杂过程,但它非常通用 - 可以curl
通过浏览器提供的命令下载您在浏览器中查看的几乎所有类型的材料,可能猜测下一个链接1并将输出粘贴在一起。
1可以上传书籍,这样您就不会逐页加载整个PDF,而是逐页加载,每个都在不同的地址下。因此,你需要做的请求www.example.com/page1.pdf
,www.example.com/page2.pdf
并www.example.com/page3.pdf
为了得到三页。
某些视频流不会针对一个请求发送视频,但需要客户端分别询问每个视频片段。
在这两种情况下,机制都很简单:猜测下一个链接生成模式,请求所有链接,然后“连接”(相应于文件类型)输出。