manpagez: man pages & more
man CURLINFO_EFFECTIVE_URL(3)
Home | html | info | man
CURLINFO_EFFECTIVE_URL(3)  Library Functions Manual  CURLINFO_EFFECTIVE_URL(3)


NAME

     CURLINFO_EFFECTIVE_URL - last used URL


SYNOPSIS

     #include <curl/curl.h>

     CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp);


DESCRIPTION

     Pass in a pointer to a char pointer and get the last used effective URL.

     In cases when you have asked libcurl to follow redirects, it may not be
     the same value you set with CURLOPT_URL(3).

     The urlp pointer is NULL or points to private memory. You must not free
     it. It memory gets freed automatically when you call curl_easy_cleanup(3)
     on the corresponding curl handle.

     The returned string has limited life-time. It might get destroyed at the
     next libcurl function call involving this same handle.


PROTOCOLS

     This functionality affects http only


EXAMPLE

     int main(void)
     {
       CURL *curl = curl_easy_init();
       if(curl) {
         CURLcode result;
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
         curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
         result = curl_easy_perform(curl);
         if(result == CURLE_OK) {
           char *url = NULL;
           curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url);
           if(url)
             printf("Redirect to: %s\n", url);
         }
         curl_easy_cleanup(curl);
       }
     }


AVAILABILITY

     Added in curl 7.4


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

     CURLOPT_FOLLOWLOCATION(3), curl_easy_getinfo(3), curl_easy_setopt(3)

libcurl                           2026-10-18         CURLINFO_EFFECTIVE_URL(3)

curl 8.23.0 - Generated Sun Oct 18 15:30:58 CDT 2026
© manpagez.com 2000-2026
Individual documents may contain additional copyright information.