1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: CURLINFO_SPEED_DOWNLOAD
5Section: 3
6Source: libcurl
7See-also:
8  - CURLINFO_SIZE_UPLOAD_T (3)
9  - CURLINFO_SPEED_UPLOAD (3)
10  - curl_easy_getinfo (3)
11  - curl_easy_setopt (3)
12Protocol:
13  - All
14---
15
16# NAME
17
18CURLINFO_SPEED_DOWNLOAD - get download speed
19
20# SYNOPSIS
21
22~~~c
23#include <curl/curl.h>
24
25CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD,
26                           double *speed);
27~~~
28
29# DESCRIPTION
30
31Pass a pointer to a double to receive the average download speed that curl
32measured for the complete download. Measured in bytes/second.
33
34CURLINFO_SPEED_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      double speed;
52      res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &speed);
53      if(!res) {
54        printf("Download speed %.0f bytes/sec\n", speed);
55      }
56    }
57  }
58}
59~~~
60
61# AVAILABILITY
62
63Added in 7.4.1. Deprecated since 7.55.0.
64
65# RETURN VALUE
66
67Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
68