Использование Mechanize для загрузки файла с многопоточностью? - PullRequest
0 голосов
/ 26 февраля 2012

Как использовать Mechanize для более быстрой загрузки файла

Есть ли способ получить длину содержимого перед загрузкой файла, а затем разделить его на части, чтобы я могможно загрузить его с помощью многопоточности?

Я пробовал agent.get(uri, 'Range'=>'bytes=0-499'), но он скачал весь файл.Кто-нибудь покажет мне правильный путь.Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012
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 голосов
/ 26 февраля 2012

Нет, нет пути. Механизация не только не обеспечивает многопоточность, но и http не позволяет запрашивать часть документа.

...