DragonFly On-Line Manual Pages
libcurl-env(3) libcurl libcurl-env(3)
NAME
libcurl-env - environment variables libcurl understands
DESCRIPTION
libcurl reads and understands a set of environment variables that if
set will control and change behaviors. This is the full list of
variables to set and description of what they do. Also note that curl,
the command line tool, supports a set of additional environment
variables independently of this.
[scheme]_proxy
When libcurl is given a URL to use in a transfer, it first
extracts the "scheme" part from the URL and checks if there is a
given proxy set for that in its corresponding environment
variable. A URL like "https://example.com" will hence use the
"http_proxy" variable, while a URL like "ftp://example.com" will
use the "ftp_proxy" variable.
These proxy variables are also checked for in their uppercase
versions, except the "http_proxy" one which is only used
lowercase. Note also that some systems actually have a case
insensitive handling of environment variables and then of course
"HTTP_PROXY" will still work...
ALL_PROXY
This is a setting to set proxy for all URLs, independently of
what scheme is being used. Note that the scheme specific
variables will override this one if set.
CURL_SSL_BACKEND
When libcurl is built to support multiple SSL backends, it will
select a specific backend at first use. If no selection is done
by the program using libcurl, this variable's selection will be
used. Setting a name that is not a built-in alternative will
make libcurl stay with the default.
SSL backend names (case-insensitive): BearSSL, GnuTLS, gskit,
mbedTLS, nss, OpenSSL, rustls, Schannel, Secure-Transport,
wolfSSL
HOME When the netrc feature is used (CURLOPT_NETRC(3)), this variable
is checked as the primary way to find the "current" home
directory in which the .netrc file is likely to exist.
USERPROFILE
When the netrc feature is used (CURLOPT_NETRC(3)), this variable
is checked as the secondary way to find the "current" home
directory (on Windows only) in which the .netrc file is likely
to exist.
LOGNAME
User name to use when invoking the ntlm-wb tool, if NTLMUSER was
not set.
NO_PROXY
This has the same functionality as the CURLOPT_NOPROXY(3)
option: it gives libcurl a comma-separated list of host name
patterns for which libcurl should not use a proxy.
NTLMUSER
User name to use when invoking the ntlm-wb tool.
SSLKEYLOGFILE
When set and libcurl runs with a SSL backend that supports this
feature, libcurl will save SSL secrets into the given file name.
Using those SSL secrets, other tools (such as Wireshark) can
decrypt the SSL communication and analyze/view the traffic.
SSL_DIR
When libcurl runs with the NSS backends for TLS features, this
variable is used to find the directory for NSS PKI database
instead of the built-in.
USER User name to use when invoking the ntlm-wb tool, if NTLMUSER and
LOGNAME were not set.
Debug Variables
There's a set of variables only recognized and used if libcurl was
built "debug enabled", which should never be true for a library used in
production.
CURL_GETHOSTNAME
Debug-only variable.
CURL_FORCETIME
Debug-only variable.
CURL_ENTROPY
Debug-only variable. Used to set a fixed faked value to use
instead of a proper random number so that functions in libcurl
that are otherwise getting random outputs can be tested for what
they generate.
CURL_TRACE
Debug-only variable. Used for debugging the lib/ldap
implementation.
CURL_NTLM_WB_FILE
Debug-only variable. Used to set to a debug-version of the ntlm-
wb executable.
CURL_OPENLDAP_TRACE
Debug-only variable. Used for debugging the OpenLDAP
implementation.
libcurl 8.1.2 April 26, 2023 libcurl-env(3)