8

我想从 ftp 服务器下载一个 50-100MB 的大文件。在每一点,我都希望能够设置“起始”点和我想要的块的长度。我不会在本地保存“以前的”块(即我不能要求程序“恢复”下载)。

最好的方法是什么?我wget主要使用,但其他东西会更好吗?


我真的对预建/内置功能感兴趣,而不是为此目的使用库......因为wget/ ftp(我认为也是)允许恢复下载,我不知道这是否会成为问题。 ..(虽然我无法从所有选项中弄清楚!)


我不想将整个大文件保留在我的末尾,只需将其分块处理...仅供参考-我正在查看重新连接后继续 FTP 下载,这似乎很有趣..

4

3 回答 3

20

将 wget 用于:

-c 选项

从手册页中提取:

-c / --继续

继续获取部分下载的文件。当您想要完成由 Wget 的前一个实例或另一个程序启动的下载时,这很有用。例如:

               wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z

如果当前目录中有一个名为 ls-lR.Z 的文件,Wget 将假定它是远程文件的第一部分,并要求服务器从等于本地文件长度的偏移量继续检索.

于 2010-05-08T05:44:56.927 回答
4

对于那些想使用命令行 curl 的人,这里是:

curl -u user:passwd -C - -o <partial_downloaded_file> ftp://<ftp_path>

(省略-u user:pass匿名访问)

于 2016-06-23T08:57:09.530 回答
1

我建议使用您选择的语言与libcurl进行交互。

于 2010-05-08T05:02:47.233 回答