Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_DNS_CACHE_TIMEOUT(3curl_easy_setopt optionCURLOPT_DNS_CACHE_TIMEOUT(3)

NAME
       CURLOPT_DNS_CACHE_TIMEOUT - set 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  resolves  will  be
       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.

       The  name  resolve  functions of	various	libc implementations don't 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.

       Note  that  DNS	entries	 have a	"TTL" property but libcurl doesn't use
       that. This DNS cache timeout is entirely	speculative that a  name  will
       resolve to the same address for a certain small amount of time into the
       future.

DEFAULT
       60

PROTOCOLS
       All

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

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

	 ret = curl_easy_perform(curl);

	 /* in this second request, the	cache will 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_DNS_USE_GLOBAL_CACHE(3),	 CURLOPT_DNS_SERVERS(3),   CURLOPT_RE-
       SOLVE(3),

libcurl	7.72.0		       December	09, 2017  CURLOPT_DNS_CACHE_TIMEOUT(3)

NAME | SYNOPSIS | DESCRIPTION | DEFAULT | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CURLOPT_DNS_CACHE_TIMEOUT&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help