CURLOPT_UNRESTRICTED_AUTH man page

CURLOPT_UNRESTRICTED_AUTH ā€” send credentials to other hosts too

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNRESTRICTED_AUTH,
                          long goahead);

Description

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.

Default

0

Protocols

HTTP

Example

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);
}

Availability

Along with HTTP

Return Value

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

See Also

CURLOPT_FOLLOWLOCATION(3), CURLOPT_USERPWD(3),

Referenced By

curl_easy_setopt(3), CURLOPT_USERPWD(3), libcurl-tutorial(3).

May 15, 2017 libcurl 7.56.0 curl_easy_setopt options