downloading with curl using multiple connections downloading with curl using multiple connections curl curl

downloading with curl using multiple connections


It's possible. Fetch the total file size with -I option in curl.

Then you can fork many process in a shell, every curl connection with a different Content-Length header to download different part of the file.

After all the tasks finish, then merge all the download slices to a big file.

I have written a simple script and it's available here mcurl.sh, with -s option you can specify how many tasks you create to download the big file.


No, the curl tool has no such ability built-in. To do it with curl, you need to invoke it multiple times with range downloads.

(oh and btw, a large RTT is very rarely the explanation to why a plain TCP transfer is slow)