DOKK / manpages / debian 11 / libcurl4-doc / CURLINFO_CONTENT_LENGTH_DOWNLOAD.3.en
CURLINFO_CONTENT_LENGTH_DOWNLOAD(3) curl_easy_getinfo options CURLINFO_CONTENT_LENGTH_DOWNLOAD(3)

CURLINFO_CONTENT_LENGTH_DOWNLOAD - get content-length of download

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD,
double *content_length);

Pass a pointer to a double to receive the content-length of the download. This is the value read from the Content-Length: field. Since 7.19.4, this returns -1 if the size isn't known.

CURLINFO_CONTENT_LENGTH_DOWNLOAD_T(3) is a newer replacement that returns a more sensible variable type.

HTTP(S)

CURL *curl = curl_easy_init();
if(curl) {

curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
/* Perform the request */
res = curl_easy_perform(curl);
if(!res) {
/* check the size */
double cl;
res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &cl);
if(!res) {
printf("Size: %.0f\n", cl);
}
} }

Added in 7.6.1

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

curl_easy_getinfo(3), curl_easy_setopt(3), CURLINFO_CONTENT_LENGTH_UPLOAD(3),

November 4, 2020 libcurl 7.74.0