1CURLOPT_DNS_SHUFFLE_ADDRESSEcSu(r3l)_easy_setopt optCiUoRnLsOPT_DNS_SHUFFLE_ADDRESSES(3)
2
3
4

NAME

6       CURLOPT_DNS_SHUFFLE_ADDRESSES  -  Shuffle addresses when a hostname re‐
7       turns more than one
8

SYNOPSIS

10       #include <curl/curl.h>
11
12       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SHUFFLE_ADDRESSES, long onoff);
13

DESCRIPTION

15       When a name is resolved and more than one IP address is returned, shuf‐
16       fle  the order of all returned addresses so that they will be used in a
17       random order.  This is similar to the ordering behavior  of  gethostby‐
18       name which is no longer used on most platforms.
19
20       Addresses  will not be reshuffled if a name resolution is completed us‐
21       ing the DNS cache. CURLOPT_DNS_CACHE_TIMEOUT(3) can  be  used  together
22       with  this  option  to  reduce DNS cache timeout or disable caching en‐
23       tirely if frequent reshuffling is needed.
24
25       Since the addresses returned will be reordered  randomly,  their  order
26       will  not be in accordance with RFC 3484 or any other deterministic or‐
27       der that may be generated by the system's name  resolution  implementa‐
28       tion.  This  may have performance impacts and may cause IPv4 to be used
29       before IPv6 or vice versa.
30

DEFAULT

32       0 (disabled)
33

PROTOCOLS

35       All
36

EXAMPLE

38       CURL *curl = curl_easy_init();
39       if(curl) {
40         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
41         curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, 1L);
42
43         curl_easy_perform(curl);
44
45         /* always cleanup */
46         curl_easy_cleanup(curl);
47       }
48

AVAILABILITY

50       Added in 7.60.0
51

RETURN VALUE

53       CURLE_OK or an error such as CURLE_UNKNOWN_OPTION.
54

SEE ALSO

56       CURLOPT_DNS_CACHE_TIMEOUT(3), CURLOPT_IPRESOLVE(3),
57
58
59
60libcurl 7.76.1                 November 04, 202C0URLOPT_DNS_SHUFFLE_ADDRESSES(3)
Impressum