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