| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- .\" generated by cd2nroff 0.1 from CURLOPT_USERPWD.md
- .TH CURLOPT_USERPWD 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_USERPWD \- username and password to use in authentication
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd);
- .fi
- .SH DESCRIPTION
- Pass a char pointer as parameter, pointing to a null\-terminated login details
- string for the connection. The format of which is: [username]:[password].
- When using Kerberos V5 authentication with a Windows based server, you should
- specify the username part with the domain name in order for the server to
- successfully obtain a Kerberos Ticket. If you do not then the initial part of
- the authentication handshake may fail.
- When using NTLM, the username can be specified simply as the username without
- the domain name should the server be part of a single domain and forest.
- To specify the domain name use either Down\-Level Logon Name or UPN (User
- Principal Name) formats. For example \fBEXAMPLE\user\fP and \fBuser@example.com\fP
- respectively.
- Some HTTP servers (on Windows) support inclusion of the domain for Basic
- authentication as well.
- When using HTTP and \fICURLOPT_FOLLOWLOCATION(3)\fP, libcurl might perform several
- requests to possibly different hosts. libcurl only sends this user and
- password information to hosts using the initial hostname (unless
- \fICURLOPT_UNRESTRICTED_AUTH(3)\fP is set), so if libcurl follows redirects to other
- hosts, it does not send the user and password to those. This is enforced to
- prevent accidental information leakage.
- Use \fICURLOPT_HTTPAUTH(3)\fP to specify the authentication method for HTTP
- based connections or \fICURLOPT_LOGIN_OPTIONS(3)\fP to control IMAP, POP3 and
- SMTP options.
- The user and password strings are not URL decoded, so there is no way to send
- in a username containing a colon using this option. Use \fICURLOPT_USERNAME(3)\fP
- for that, or include it in the URL.
- The application does not have to keep the string around after setting this
- option.
- .SH DEFAULT
- NULL
- .SH PROTOCOLS
- This functionality affects all supported protocols
- .SH EXAMPLE
- .nf
- int main(void)
- {
- CURL *curl = curl_easy_init();
- if(curl) {
- CURLcode res;
- curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin");
- curl_easy_setopt(curl, CURLOPT_USERPWD, "clark:kent");
- res = curl_easy_perform(curl);
- curl_easy_cleanup(curl);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.1
- .SH RETURN VALUE
- Returns CURLE_OK on success or
- CURLE_OUT_OF_MEMORY if there was insufficient heap space.
- .SH SEE ALSO
- .BR CURLOPT_PASSWORD (3),
- .BR CURLOPT_PROXYUSERPWD (3),
- .BR CURLOPT_USERNAME (3)
|