1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: CURLINFO_CONTENT_LENGTH_DOWNLOAD
5Section: 3
6Source: libcurl
7See-also:
8  - CURLINFO_CONTENT_LENGTH_UPLOAD (3)
9  - curl_easy_getinfo (3)
10  - curl_easy_setopt (3)
11Protocol:
12  - All
13---
14
15# NAME
16
17CURLINFO_CONTENT_LENGTH_DOWNLOAD - get content-length of download
18
19# SYNOPSIS
20
21~~~c
22#include <curl/curl.h>
23
24CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD,
25                           double *content_length);
26~~~
27
28# DESCRIPTION
29
30Pass a pointer to a double to receive the content-length of the download. This
31is the value read from the Content-Length: field. Since 7.19.4, this returns
32-1 if the size is not known.
33
34CURLINFO_CONTENT_LENGTH_DOWNLOAD_T(3) is a newer replacement that returns a more
35sensible variable type.
36
37# EXAMPLE
38
39~~~c
40int main(void)
41{
42  CURL *curl = curl_easy_init();
43  if(curl) {
44    CURLcode res;
45    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
46
47    /* Perform the request */
48    res = curl_easy_perform(curl);
49
50    if(!res) {
51      /* check the size */
52      double cl;
53      res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &cl);
54      if(!res) {
55        printf("Size: %.0f\n", cl);
56      }
57    }
58  }
59}
60~~~
61
62# AVAILABILITY
63
64Added in 7.6.1. Deprecated since 7.55.0.
65
66# RETURN VALUE
67
68Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
69