123 lines
5.1 KiB
Groff
123 lines
5.1 KiB
Groff
|
.\" **************************************************************************
|
||
|
.\" * _ _ ____ _
|
||
|
.\" * Project ___| | | | _ \| |
|
||
|
.\" * / __| | | | |_) | |
|
||
|
.\" * | (__| |_| | _ <| |___
|
||
|
.\" * \___|\___/|_| \_\_____|
|
||
|
.\" *
|
||
|
.\" * Copyright (C) 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.
|
||
|
.\" *
|
||
|
.\" * SPDX-License-Identifier: curl
|
||
|
.\" *
|
||
|
.\" **************************************************************************
|
||
|
.\"
|
||
|
.TH CURLOPT_NETRC 3 "August 22, 2023" "ibcurl 8.3.0" libcurl
|
||
|
|
||
|
.SH NAME
|
||
|
CURLOPT_NETRC \- enable use of .netrc
|
||
|
.SH SYNOPSIS
|
||
|
.nf
|
||
|
#include <curl/curl.h>
|
||
|
|
||
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level);
|
||
|
.fi
|
||
|
.SH DESCRIPTION
|
||
|
This parameter controls the preference \fIlevel\fP of libcurl between using
|
||
|
user names and passwords from your \fI~/.netrc\fP file, relative to user names
|
||
|
and passwords in the URL supplied with \fICURLOPT_URL(3)\fP.
|
||
|
|
||
|
On Windows, libcurl uses the file as \fI%HOME%/_netrc\fP. If \fI%HOME%\fP is
|
||
|
not set on Windows, libcurl falls back to \fI%USERPROFILE%\fP.
|
||
|
|
||
|
You can also tell libcurl a different file name to use with
|
||
|
\fICURLOPT_NETRC_FILE(3)\fP.
|
||
|
|
||
|
libcurl uses a user name (and supplied or prompted password) supplied with
|
||
|
\fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP in preference to any of
|
||
|
the options controlled by this parameter.
|
||
|
|
||
|
Only machine name, user name and password are taken into account (init macros
|
||
|
and similar things are not supported).
|
||
|
|
||
|
libcurl does not verify that the file has the correct properties set (as the
|
||
|
standard Unix ftp client does). It should only be readable by user.
|
||
|
|
||
|
\fIlevel\fP is a long that should be set to one of the values described below.
|
||
|
.IP "CURL_NETRC_IGNORED (0)"
|
||
|
libcurl ignores the \fI.netrc\fP file. This is the default.
|
||
|
.IP "CURL_NETRC_OPTIONAL (1)"
|
||
|
The use of the \fI.netrc\fP file is optional, and information in the URL is to
|
||
|
be preferred. The file is scanned for the host and user name (to find the
|
||
|
password only) or for the host only, to find the first user name and password
|
||
|
after that \fImachine\fP, which ever information is not specified.
|
||
|
.IP "CURL_NETRC_REQUIRED (2)"
|
||
|
The use of the \fI.netrc\fP file is required, and any credential information
|
||
|
present in the URL is ignored. The file is scanned for the host and user name
|
||
|
(to find the password only) or for the host only, to find the first user name
|
||
|
and password after that \fImachine\fP, which ever information is not
|
||
|
specified.
|
||
|
.SH FILE FORMAT
|
||
|
The \fB.netrc\fP file format is simple: you specify lines with a machine name
|
||
|
and follow the login and password that are associated with that machine.
|
||
|
|
||
|
Each field is provided as a sequence of letters that ends with a space or
|
||
|
newline. Starting in 7.84.0, libcurl also supports quoted strings. They start
|
||
|
and end with double quotes and support the escaped special letters \\\", \\n,
|
||
|
\\r, and \\t. Quoted strings are the only way a space character can be used in
|
||
|
a user name or password.
|
||
|
|
||
|
.IP "machine <name>"
|
||
|
Provides credentials for a host called \fBname\fP. libcurl searches the .netrc
|
||
|
file for a machine token that matches the host name specified in the URL. Once
|
||
|
a match is made, the subsequent tokens are processed, stopping when the end of
|
||
|
file is reached or another "machine" is encountered.
|
||
|
.IP default
|
||
|
This is the same as "machine" name except that default matches any name. There
|
||
|
can be only one default token, and it must be after all machine tokens. To
|
||
|
provide a default anonymous login for hosts that are not otherwise matched,
|
||
|
add a line similar to this in the end:
|
||
|
|
||
|
default login anonymous password user@domain
|
||
|
.IP "login <name>"
|
||
|
The user name string for the remote machine.
|
||
|
.IP "password <secret>"
|
||
|
Supply a password. If this token is present, curl supplies the specified
|
||
|
string if the remote server requires a password as part of the login process.
|
||
|
Note that if this token is present in the .netrc file you really should make
|
||
|
sure the file is not readable by anyone besides the user.
|
||
|
.IP "macdef <name>"
|
||
|
Define a macro. This feature is not supported by libcurl. In order for the
|
||
|
rest of the .netrc to still work fine, libcurl properly skips every definition
|
||
|
done with "macdef" that it finds.
|
||
|
.SH DEFAULT
|
||
|
CURL_NETRC_IGNORED
|
||
|
.SH PROTOCOLS
|
||
|
Most
|
||
|
.SH EXAMPLE
|
||
|
.nf
|
||
|
CURL *curl = curl_easy_init();
|
||
|
if(curl) {
|
||
|
CURLcode ret;
|
||
|
curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/");
|
||
|
curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
|
||
|
ret = curl_easy_perform(curl);
|
||
|
}
|
||
|
.fi
|
||
|
.SH AVAILABILITY
|
||
|
Always
|
||
|
.SH RETURN VALUE
|
||
|
Returns CURLE_OK
|
||
|
.SH "SEE ALSO"
|
||
|
.BR CURLOPT_USERPWD "(3), " CURLOPT_USERNAME "(3), " CURLOPT_NETRC_FILE "(3), "
|