Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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

CURLINFO_PRIMARY_IP(3)     curl_easy_getinfo options    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-ter-
       minated 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 will be  re-
       used at next request so you need to copy the string if you want to keep
       the information.

       The ip pointer will be NULL or pointing to private memory you MUST  NOT
       free  -  it gets freed when you call curl_easy_cleanup(3) on the corre-
       sponding CURL handle.

PROTOCOLS
       All network based ones

EXAMPLE
       {
         char *ip;

         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

         /* Perform the request, res will get the return code */
         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 7.19.0

RETURN VALUE
       Returns CURLE_OK if the option is supported,  and  CURLE_UNKNOWN_OPTION
       if not.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       curl_easy_getinfo(3),   curl_easy_setopt(3),  CURLINFO_PRIMARY_PORT(3),
       CURLINFO_LOCAL_IP(3),



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source      was      downloaded       from        https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 26, 2021        CURLINFO_PRIMARY_IP(3)