DOKK / manpages / debian 11 / libcurl4-doc / CURLOPT_IPRESOLVE.3.en
CURLOPT_IPRESOLVE(3) curl_easy_setopt options CURLOPT_IPRESOLVE(3)

CURLOPT_IPRESOLVE - specify which IP protocol version to use

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IPRESOLVE, long resolve);

Allows an application to select what kind of IP addresses to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP. The allowed values are:

Default, resolves addresses to all IP versions that your system allows.
Resolve to IPv4 addresses.
Resolve to IPv6 addresses.

CURL_IPRESOLVE_WHATEVER

All

CURL *curl = curl_easy_init();
if(curl) {

curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin");
/* resolve host name using IPv6-names only */
curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl); }

Always

Returns CURLE_OK

CURLOPT_HTTP_VERSION(3), CURLOPT_SSLVERSION(3),

November 4, 2020 libcurl 7.74.0