CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only);
The option can be used to simply test a connection to a server, but is more useful when used with the CURLINFO_ACTIVESOCKET(3) option to curl_easy_getinfo(3) as the library can set up the connection and then the application can obtain the most recently used socket for special data transfers.
Transfers marked connect only will not reuse any existing connections and connections marked connect only will not be allowed to get reused.
CURL *curl = curl_easy_init(); if(curl) { CURLcode ret; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L); ret = curl_easy_perform(curl); if(ret == CURLE_OK) { /* only connected! */ } }