使用多个连接下载curl

时间:2011-12-04 21:56:54

标签: curl download file-transfer

我正在尝试将多gb文件从一台服务器转移到另一台服务器;问题是RTT是150ms +。我已经尝试过使用aria2,但它仅限于16个连接,lftp没有任何防止停止传输的保护。

我想知道是否可以使用curl cli下载一个包含多个连接的文件。

3 个答案:

答案 0 :(得分:5)

有一个名为pcurl的脚本包含curl以进行多个同时下载,然后在完成时将它们组合起来。

默认为10个连接,但可以在第81行的MAX_SEGMENTS中进行更改。

它是这样调用的:

./pcurl.sh http://myurl.to/a/very/largefile.zip

答案 1 :(得分:2)

不,卷曲工具没有这种能力。

(哦,顺便说一句,大型RTT很少解释为什么普通TCP传输速度慢)

答案 2 :(得分:1)

这是可能的。在curl中使用-I选项获取总文件大小。

然后你可以在shell中分叉许多进程,每个curl连接使用不同的Content-Length标头来下载文件的不同部分。

完成所有任务后,将所有下载切片合并到一个大文件中。

我编写了一个简单的脚本,它在mcurl.sh处可用,-s选项可以指定您为下载大文件创建的任务数。