使用多个连接下载curl

use*_*749 8 curl download file-transfer

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

我想知道是否可以使用curl cli下载一个具有多个连接的文件.

ali*_*dro 8

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

然后你可以在一个 shell 中 fork 多个进程,每个curl连接都有一个不同的Content-Length头来下载文件的不同部分。

待所有任务完成后,再将所有下载分片合并成一个大文件。

我写了一个简单的脚本,它可以在这里找到 mcurl.sh-s您可以选择指定创建多少个任务来下载大文件。


Dan*_*erg 1

不,curl 工具没有内置这样的功能。要使用curl 来完成此操作,您需要通过范围下载多次调用它。

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