OpenSuSE Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
x SuSE Linux 13.1-RELEASE x
x SuSE Linux 13.1-RELEASEx
CURLOPT_DNS_CACHE_TIMEOUT(3)        libcurl       CURLOPT_DNS_CACHE_TIMEOUT(3)

NAME
       CURLOPT_DNS_CACHE_TIMEOUT - life-time for DNS cache entries

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age);

DESCRIPTION
       Pass a long, this sets the timeout in seconds. Name resolve results are
       kept in memory and used for this number of seconds. Set to zero to com-
       pletely disable caching, or set to -1 to make the cached entries remain
       forever. By default, libcurl caches this info for 60 seconds.

       We recommend users not to tamper with this option unless strictly  nec-
       essary.   If you do, be careful of using large values that can make the
       cache size grow significantly if many different  host  names  are  used
       within that timeout period.

       The  name  resolve functions of various libc implementations do not re-
       read name server information unless explicitly told so (for example, by
       calling  res_init(3)).  This  may cause libcurl to keep using the older
       server even if DHCP has updated the server info, and this may look like
       a DNS cache issue to the casual libcurl-app user.

       DNS  entries  have a "TTL" property but libcurl does not use that. This
       DNS cache timeout is entirely speculative that a name resolves  to  the
       same address for a small amount of time into the future.

       Since  version  8.1.0,  libcurl prunes entries from the DNS cache if it
       exceeds 30,000 entries no matter which timeout value is used.

DEFAULT
       60

PROTOCOLS
       All

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin");

         /* only reuse addresses for a short time */
         curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 2L);

         ret = curl_easy_perform(curl);

         /* in this second request, the cache is not be used if more than
            two seconds have passed since the previous name resolve */
         ret = curl_easy_perform(curl);

         curl_easy_cleanup(curl);
       }

AVAILABILITY
       Always

RETURN VALUE
       Returns CURLE_OK

SEE ALSO
       CURLOPT_CONNECTTIMEOUT_MS(3),       CURLOPT_DNS_SERVERS(3),        CUR-
       LOPT_DNS_USE_GLOBAL_CACHE(3),        CURLOPT_MAXAGE_CONN(3),       CUR-
       LOPT_RESOLVE(3)

ibcurl 8.4.0                  September 26, 2023  CURLOPT_DNS_CACHE_TIMEOUT(3)

Want to link to this manual page? Use this URL:
<
http://star2.abcm.com/cgi-bin/bsdi-man?query=CURLOPT_DNS_CACHE_TIMEOUT&sektion=3&manpath=>

home | help