curl / libcurl / API / Environment variables

Environment variables libcurl understands

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 "http://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. It should be set to the full SSL backend name to use (case insensitive).

HOME

When the netrc feature is used (CURLOPT_NETRC), this variable is checked as the primary way to find the "current" home directory in which the .netrc file is likely to exist.

LOGNAME

User name to use when invoking the ntlm-wb tool, if NTLMUSER wasn't set.

NO_PROXY

This has the same functionality as the CURLOPT_NOPROXY 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 weren't set.

Debug Variables

There's a set of variables only recognized and used if libcurl was buillt "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 lib/openldap.c implementation.

This HTML page was made with roffit.