focal (3) CURLINFO_ACTIVESOCKET.3.gz

Provided by: libcurl4-doc_7.68.0-1ubuntu2.25_all bug

NAME

       CURLINFO_ACTIVESOCKET - get the active socket

SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET,
                                  curl_socket_t *socket);

DESCRIPTION

       Pass  a  pointer to a curl_socket_t to receive the active socket used by this curl session. If the socket
       is no longer valid, CURL_SOCKET_BAD is returned. When you finish working with the socket, you  must  call
       curl_easy_cleanup(3)  as  usual  on  the  easy  handle and let libcurl close the socket and cleanup other
       resources associated with the handle. This is typically used in combination with CURLOPT_CONNECT_ONLY(3).

       This option was added as a replacement for CURLINFO_LASTSOCKET(3) since that one  isn't  working  on  all
       platforms.

PROTOCOLS

       All

EXAMPLE

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

         /* Do not do the transfer - only connect to host */
         curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
         res = curl_easy_perform(curl);

         /* Extract the socket from the curl handle */
         res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd);

         if(res != CURLE_OK) {
           printf("Error: %s\n", curl_easy_strerror(res));
           return 1;
         }
       }

AVAILABILITY

       Added in 7.45.0

RETURN VALUE

       Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

       curl_easy_getinfo(3), curl_easy_setopt(3), CURLINFO_LASTSOCKET(3),