GNURLOPT_D...HE_TIMEOUT(3)

πŸ“¦ version 7.72.0, in nixos 26.05, nixpkgs unstable

πŸ¦‹ GNURLOPT_D...HE_TIMEOUT(3) πŸ¦‹

okay bestie, this page comes from the curl_easy_setopt options manual, and it's literally all about giving your DNS cache a set life-time πŸ’… no cap.

πŸŽ€ NAME πŸŽ€

CURLOPT_DNS_CACHE_TIMEOUT β€” set life-time for DNS cache entries. periodt.

✨ SYNOPSIS ✨

#include <gnurl/curl.h>

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

πŸ’– DESCRIPTION πŸ’–

You pass a long, and it sets the timeout in seconds, bestie. Name resolves will be kept in memory and used for this number of seconds. Set it to zero to completely disable caching, or set it to -1 to make the cached entries remain forever. By default, libcurl caches this info for 60 seconds. iconic behavior.

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. not me side-eyeing the resolver πŸ™ˆ

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. it's giving β€œwe hope” energy, fr fr.

⭐ 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 πŸ‘‘


kisses bestie, this was the libcurl 7.37.0 edition, dated 17 Jun 2014 β€” bye and slay πŸ«ΆπŸ’–

πŸ“¦ where this page comes from