1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: CURLINFO_SIZE_DOWNLOAD
5Section: 3
6Source: libcurl
7See-also:
8  - CURLINFO_SIZE_DOWNLOAD_T (3)
9  - CURLINFO_SIZE_UPLOAD_T (3)
10  - CURLOPT_MAXFILESIZE (3)
11  - curl_easy_getinfo (3)
12  - curl_easy_setopt (3)
13Protocol:
14  - All
15---
16
17# NAME
18
19CURLINFO_SIZE_DOWNLOAD - get the number of downloaded bytes
20
21# SYNOPSIS
22
23~~~c
24#include <curl/curl.h>
25
26CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp);
27~~~
28
29# DESCRIPTION
30
31Pass a pointer to a double to receive the total amount of bytes that were
32downloaded. The amount is only for the latest transfer and gets reset again
33for each new transfer. This counts actual payload data, what's also commonly
34called body. All meta and header data is excluded and not included in this
35number.
36
37CURLINFO_SIZE_DOWNLOAD_T(3) is a newer replacement that returns a more
38sensible variable type.
39
40# EXAMPLE
41
42~~~c
43int main(void)
44{
45  CURL *curl = curl_easy_init();
46  if(curl) {
47    CURLcode res;
48    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
49
50    /* Perform the request */
51    res = curl_easy_perform(curl);
52
53    if(!res) {
54      /* check the size */
55      double dl;
56      res = curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &dl);
57      if(!res) {
58        printf("Downloaded %.0f bytes\n", dl);
59      }
60    }
61  }
62}
63~~~
64
65# AVAILABILITY
66
67Added in 7.4.1. Deprecated since 7.55.0.
68
69# RETURN VALUE
70
71Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
72