Provided by: libcurl4-doc_7.58.0-2ubuntu3.24_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),