2012-02-26 90 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