manpagez: man pages & more
man CURLINFO_LASTSOCKET(3)
Home | html | info | man
CURLINFO_LASTSOCKET(3)     Library Functions Manual     CURLINFO_LASTSOCKET(3)


NAME

       CURLINFO_LASTSOCKET - get the last socket used


SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket);


DESCRIPTION

       Deprecated since 7.45.0. Use CURLINFO_ACTIVESOCKET(3) instead.

       Pass a pointer to a long to receive the last socket used by this curl
       session. If the socket is no longer valid, -1 is returned. When you
       finish working with the socket, you must call curl_easy_cleanup(3) as
       usual 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).

       NOTE: this API is deprecated since it is not working on win64 where the
       SOCKET type is 64 bits large while its 'long' is 32 bits. Use the
       CURLINFO_ACTIVESOCKET(3) instead, if possible.


PROTOCOLS

       This functionality affects all supported protocols


EXAMPLE

       int main(void)
       {
         CURL *curl = curl_easy_init();
         if(curl) {
           CURLcode res;
           long sockfd; /* does not work on win64! */
           curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

           /* Do not do the transfer - only connect to host */
           curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
           res = curl_easy_perform(curl);
           if(res != CURLE_OK) {
             printf("Error: %s\n", curl_easy_strerror(res));
             curl_easy_cleanup(curl);
             return 1;
           }

           /* Extract the socket from the curl handle */
           res = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &sockfd);
           if(!res && sockfd != -1) {
             /* operate on sockfd */
           }

           curl_easy_cleanup(curl);
         }
       }


AVAILABILITY

       Added in curl 7.15.2


RETURN VALUE

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


SEE ALSO

       CURLINFO_ACTIVESOCKET(3), CURLOPT_CONNECT_ONLY(3),
       curl_easy_getinfo(3), curl_easy_setopt(3)

libcurl                           2024-08-05            CURLINFO_LASTSOCKET(3)

curl 8.9.1 - Generated Fri Aug 9 13:09:42 CDT 2024
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.