2012-02-26 88 views
0

如何使用機械化下載文件的更多更快使用機械化下載多線程文件?

有沒有辦法下載文件之前得到的內容長度,然後將其分成幾部分,這樣我可以通過使用多線程下載呢?我試過agent.get(uri, 'Range'=>'bytes=0-499'),但它下載了整個文件。任何人都能向我展示正確的方式。謝謝!

回答

0

不,沒有辦法。不僅機械化不是線程安全的,而且http也不允許你請求文檔的一部分。

0
curl -I -H Range:bytes=0-11 http://photocdn.sohu.com/20100125/Img269812337.jpg 
HTTP/1.1 206 Partial Content 
Content-Type: image/jpeg 
Content-Length: 12 
Connection: keep-alive 
Date: Sun, 26 Feb 2012 16:49:36 GMT 
Server: SWS 
Cache-Control: max-age=5184000 
Expires: Thu, 26 Apr 2012 16:49:36 GMT 
Last-Modified: Mon, 25 Jan 2010 05:42:55 GMT 
FSS-Cache: HIT from 27722327.31785751.38755221 
Content-Range: bytes 0-11/36161 

3注意:

  1. 範圍頭只能在支持HTTP1.1(rfc2616
  2. 並非所有的服務器處理範圍頭
  3. 內容,範圍HTTP響應頭告訴內容您所需資源的長度
+0

**謝謝!**通過使用'net/http',我可以單獨下載文件範圍,但不是平行。當我嘗試使用多線程時,它總是下載文件的最後部分。 :-( – Jeweller 2012-02-27 02:10:42