CURLINFO_LOCAL_IP(3) Library Functions Manual CURLINFO_LOCAL_IP(3)
NAME
CURLINFO_LOCAL_IP - get local IP address of last connection
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip);
DESCRIPTION
Pass a pointer to a char pointer to receive the pointer to a null-termi-
nated string holding the IP address of the local end of most recent con-
nection done with this curl handle. This string may be IPv6 when that is
enabled. Note that you get a pointer to a memory area that is reused at
next request so you need to copy the string if you want to keep the in-
formation.
The ip pointer is NULL or points to private memory. You MUST NOT free -
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
PROTOCOLS
This functionality affects quic and tcp
EXAMPLE
int main(void)
{
char *ip;
CURLcode res;
CURL *curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
/* Perform the transfer */
res = curl_easy_perform(curl);
/* Check for errors */
if((res == CURLE_OK) &&
!curl_easy_getinfo(curl, CURLINFO_LOCAL_IP, &ip) && ip) {
printf("Local IP: %s\n", ip);
}
/* always cleanup */
curl_easy_cleanup(curl);
}
AVAILABILITY
Added in curl 7.21.0
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
CURLINFO_LOCAL_PORT(3), CURLINFO_PRIMARY_IP(3), curl_easy_getinfo(3),
curl_easy_setopt(3)
libcurl 2026-07-12 CURLINFO_LOCAL_IP(3)
Generated by dwww version 1.16 on Fri Oct 2 03:58:09 CEST 2026.