CURLINFO_LASTSOCKET(3)
π CURLINFO_LASTSOCKET(3) β last socket used
okay so this is the Library Functions Manual page for CURLINFO_LASTSOCKET(3), and it is lowkey all about the last socket used. bestie, let's get into it π«Ά
β¨ NAME β¨
CURLINFO_LASTSOCKET β last socket used π«
πΈ SYNOPSIS πΈ
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket);
π¦ DESCRIPTION π¦
Okay so first things first: Deprecated since 7.45.0. Use CURLINFO_ACTIVESOCKET(3) instead, bestie. no cap π
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 theSOCKETtype is 64 bits large while its'long'is 32 bits. Use theCURLINFO_ACTIVESOCKET(3)instead, if possible. π
π PROTOCOLS π
This functionality affects all supported protocols πβ¨
π EXAMPLE π
Here is the example, bestie, looking iconic and staying exactly as it should:
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode result;
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);
result = curl_easy_perform(curl);
if(result != CURLE_OK) {
printf("Error: %s\n", curl_easy_strerror(result));
curl_easy_cleanup(curl);
return 1;
}
/* Extract the socket from the curl handle */
result = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &sockfd);
if(!result && sockfd != -1) {
/* operate on sockfd */
}
curl_easy_cleanup(curl);
}
}
π AVAILABILITY π
Added in curl 7.15.2 π periodt.
π RETURN VALUE π
curl_easy_getinfo(3) returns a CURLcode indicating success or error. π
CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3). π«Ά
π₯ SEE ALSO π₯
xoxo, libcurl β’ 2026-10-12 β’ CURLINFO_LASTSOCKET(3) β stay socket-y, bestie π
π¦ where this page comes from
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms