SysTutorials

Linux Manual Pages › Section 3

curlopt_range(3)

CURLOPT_RANGE – set byte range to request

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range);

Description

Pass a char * as parameter, which should contain the specified range you want to retrieve. It should be in the format "X-Y", where either X or Y may be left out and X and Y are byte indexes.

HTTP transfers also support several intervals, separated with commas as in "X-Y,N-M". Using this kind of multiple intervals will cause the HTTP server to send the response document in pieces (using standard MIME separation techniques). For RTSP, the formatting of a range should follow RFC2326 Section 12.29. For RTSP, byte ranges are not permitted. Instead, ranges should be given in npt, utc, or smpte formats.

Pass a NULL to this option to disable the use of ranges.

Default

NULL

Protocols

HTTP, FTP, FILE, RTSP and SFTP.

Example

CURL *curl = curl_easy_init();
if(curl) {
 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 /* get the first 200 bytes */
 curl_easy_setopt(curl, CURLOPT_RANGE, "0-199");
 /* Perform the request */
 curl_easy_perform(curl);
}

Availability

FILE since 7.18.0, RTSP since 7.20.0

Return Value

Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

See Also

CURLOPT_RESUME_FROM(3),