GNURLINFO_ACTIVESOCKET(3)
β¨ GNURLINFO_ACTIVESOCKET β get the active socket β¨
okay so real quick bestie, this one lives in the curl_easy_getinfo options corner of the manual-verse, and it's literally the glow-up replacement for that other socket getter. let's get into it π
πΈ NAME πΈ
CURLINFO_ACTIVESOCKET β get the active socket
π SYNOPSIS π
#include <gnurl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET,
curl_socket_t *socket);
π DESCRIPTION π
so you pass a pointer to a curl_socket_t and it receives the most recently active socket used for the transfer connection by this curl session. that's it, that's the whole vibe π«Ά
if the socket is no longer valid, CURL_SOCKET_BAD is returned. no cap, it just goes bad-girl mode and hands you that.
when you're finished 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. like, don't try to do it yourself, that's libcurl's job, let the icon cook π₯
this option returns the active socket only after the transfer is complete, and is typically used in combination with CURLOPT_CONNECT_ONLY(3), which skips the transfer phase.
and here's the lore: CURLINFO_ACTIVESOCKET(3) was added as a replacement for CURLINFO_LASTSOCKET(3) since that one isn't working on all platforms. out with the old, in with the new, periodt β¨
π¦ 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 β she's a 2015 girly π
β RETURN VALUE β
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. simple as that, bestie π
π SEE ALSO π
okay that's the whole page, mwah π this little transmission came to you courtesy of libcurl 7.44.0, dated 12 Sep 2015 β go get that socket, you absolute main character π§ββοΈπΈ
π¦ where this page comes from
- nixos 26.05: libgnurl 7.72.0
- nixpkgs unstable: libgnurl 7.72.0
- Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms