curl / Mailing Lists / curl-users / Single Mail


libcurl - sample code for multiple out of order range requests from same url

From: Steve Williams <>
Date: Tue, 25 Jul 2017 19:45:47 +0100

Hi guys,

    I'm fairly new to libcurl. I need to be able to make multiple out of
order http get range requests to a file.

I understand the server won't necessarily deliver ranges as requested,
but that's what I need.

I took a look at the 10 at a time example.

What I'd like is something like that but 10 ranges of the same file as a

First question :

1. The callback seems to lack sufficient parameters to understand what
I'm getting.

*static* size_t*cb*(*char* *d, size_t n, size_t l,*void* *p) { ... }

It contains no offset so I don't know what range this chunk represents.
The data wasn't requested sequentially and there will be gaps so you won't be able to munge it internally into sequential order.

I dropped in a seek callback and that's not getting hit so I can't figure it out that way.

2. Not sure how to keep session open over multiple requests.

The*init*() function in 10-at-a-time shows how to send off a request and I can extend that to add a range.

I don't want to have to specify a url each time as it's the same session. Do you infer that internally if I give you the same url pointer ?

Insight, advice welcome.

Thanks :)

Best regards,

Received on 2017-07-26