dwww Home | Manual pages | Find package

CURLINFO_PRIMARY_IP(3)      Library Functions Manual     CURLINFO_PRIMARY_IP(3)

NAME
       CURLINFO_PRIMARY_IP - get IP address of last connection

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_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 most recent connection 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 re-
       quest so you need to copy the string if you want to  keep  the  informa-
       tion.

       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 all supported protocols

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_PRIMARY_IP, &ip) && ip) {
           printf("IP: %s\n", ip);
         }

         /* always cleanup */
         curl_easy_cleanup(curl);
       }

AVAILABILITY
       Added in curl 7.19.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_IP(3), CURLINFO_LOCAL_PORT(3),  CURLINFO_PRIMARY_PORT(3),
       curl_easy_getinfo(3), curl_easy_setopt(3)

libcurl                            2026-07-12            CURLINFO_PRIMARY_IP(3)

Generated by dwww version 1.16 on Sat Oct 3 05:19:50 CEST 2026.