Ubuntu Manpages

CURLOPT_UNRESTRICTED_AUTH

send credentials to other hosts too

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNRESTRICTED_AUTH,
                          long goahead);

Set the long gohead parameter to 1L to make libcurl continue to send authentication (user+password) credentials when following locations, even when hostname changed. This option is meaningful only when setting CURLOPT_FOLLOWLOCATION(3).

By default, libcurl will only send given credentials to the initial host name as given in the original URL, to avoid leaking username + password to other sites.

0

HTTP

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 1L);
  curl_easy_perform(curl);
}

Along with HTTP

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

CURLOPT_FOLLOWLOCATION(3), CURLOPT_USERPWD(3),