Marconi
Marconi

Reputation: 3651

How to create partial download in twisted?

How do you create multiple HTTPDownloader instance with partial download asynchronously? and does it assemble the file automatically after all download is done?

Upvotes: 2

Views: 676

Answers (1)

Tomasz Wysocki
Tomasz Wysocki

Reputation: 11568

You must use Range HTTP header:

Range. Request only part of an entity. Bytes are numbered from 0. Range: bytes=500-999

Ie. If you want download 1000 file in 4 parts, you will starts 4 downloads:

  1. 0-2499
  2. 2500-4999
  3. 5000-7499
  4. 7500-9999

And then simply join data from responses.

To check file size you can use HEAD method:

HEAD Asks for the response identical to the one that would correspond to a GET request, but without the response body. This is useful for retrieving meta-information written in response headers, without having to transport the entire content.

Upvotes: 3

Related Questions