| .\" ************************************************************************** |
| .\" * _ _ ____ _ |
| .\" * Project ___| | | | _ \| | |
| .\" * / __| | | | |_) | | |
| .\" * | (__| |_| | _ <| |___ |
| .\" * \___|\___/|_| \_\_____| |
| .\" * |
| .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. |
| .\" * |
| .\" * This software is licensed as described in the file COPYING, which |
| .\" * you should have received as part of this distribution. The terms |
| .\" * are also available at https://curl.se/docs/copyright.html. |
| .\" * |
| .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
| .\" * copies of the Software, and permit persons to whom the Software is |
| .\" * furnished to do so, under the terms of the COPYING file. |
| .\" * |
| .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY |
| .\" * KIND, either express or implied. |
| .\" * |
| .\" ************************************************************************** |
| .\" |
| .TH CURLOPT_USERPWD 3 "November 04, 2020" "libcurl 7.78.0" "curl_easy_setopt options" |
| |
| .SH NAME |
| CURLOPT_USERPWD \- user name and password to use in authentication |
| .SH SYNOPSIS |
| #include <curl/curl.h> |
| |
| CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd); |
| .SH DESCRIPTION |
| Pass a char * as parameter, pointing to a null-terminated login details string |
| for the connection. The format of which is: [user name]:[password]. |
| |
| When using Kerberos V5 authentication with a Windows based server, you should |
| specify the user name part with the domain name in order for the server to |
| successfully obtain a Kerberos Ticket. If you don't then the initial part of |
| the authentication handshake may fail. |
| |
| When using NTLM, the user name can be specified simply as the user name |
| 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, EXAMPLE\\user and [email protected] |
| 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 will only send this user |
| and password information to hosts using the initial host name (unless |
| \fICURLOPT_UNRESTRICTED_AUTH(3)\fP is set), so if libcurl follows locations to |
| other hosts it will 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's no way to send |
| in a user name 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 |
| Most |
| .SH EXAMPLE |
| .nf |
| CURL *curl = curl_easy_init(); |
| if(curl) { |
| curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/foo.bin"); |
| |
| curl_easy_setopt(curl, CURLOPT_USERPWD, "clark:kent"); |
| |
| ret = curl_easy_perform(curl); |
| |
| curl_easy_cleanup(curl); |
| } |
| .fi |
| .SH AVAILABILITY |
| Always |
| .SH RETURN VALUE |
| Returns CURLE_OK on success or |
| CURLE_OUT_OF_MEMORY if there was insufficient heap space. |
| .SH "SEE ALSO" |
| .BR CURLOPT_USERNAME "(3), " CURLOPT_PASSWORD "(3), " |
| .BR CURLOPT_PROXYUSERPWD "(3), " |