我正在尝试将多gb文件从一台服务器转移到另一台服务器;问题是RTT是150ms +。我已经尝试过使用aria2,但它仅限于16个连接,lftp没有任何防止停止传输的保护。
我想知道是否可以使用curl cli下载一个包含多个连接的文件。
答案 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
选项可以指定您为下载大文件创建的任务数。