plucky (3) CURLINFO_PRIMARY_IP.3.gz

Provided by: libcurl4-doc_8.12.1-2ubuntu1_all bug

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-terminated 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 request so you need to copy
       the string if you want to keep the information.

       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)