2011-12-04 54 views
7

我試圖將一個多GB文件從一臺服務器傳輸到另一臺服務器;問題是RTT是150ms +。我已經嘗試過使用aria2,但它僅限於16個連接,lftp沒有任何防止停頓傳輸的保護。使用多個連接進行卷曲下載

我想知道是否可以使用curl cli下載一個帶有多個連接的文件。

回答

2

不,捲曲工具沒有這種能力。

(噢,順便說一句,大RTT是很少解釋爲什麼一個普通的TCP傳輸速度慢)

4

有一個叫pcurl腳本包捲曲做到同時執行多個下載,然後在完成時將它們結合起來。

,缺省值爲10個連接,但這可以在MAX_SEGMENTS上線81

來改變它被調用這樣的:

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

這是可能的。使用curl中的-I選項獲取總文件大小。

然後你可以在一個shell中fork很多進程,每個curl連接一個不同的Content-Length頭文件來下載不同部分的文件。

完成所有任務後,將所有下載切片合併到一個大文件中。

我寫了一個簡單的腳本,在這裏可以使用mcurl.sh,使用-s選項,您可以指定創建多少個任務來下載大文件。