libcurl-env(3)
π NAME π
okay bestie, welcome to the libcurl-env(3) page β environment variables libcurl understands π«Ά
β¨ DESCRIPTION β¨
So like, libcurl reads and understands a whole set of environment variables, and if you set them they will control and change behaviors. This is the full list of variables to set and what they do β no cap, every single one is here. 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 likehttp://example.comwill hence use thehttp_proxyvariable, while a URL likeftp://example.comwill use theftp_proxyvariable. These proxy variables are also checked for in their uppercase versions, except thehttp_proxyone which is only used lowercase. Note also that some systems actually have a case insensitive handling of environment variables and then of courseHTTP_PROXYwill 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(3)), this variable is checked as the primary way to find the"current"home directory in which the.netrcfile is likely to exist.LOGNAMEβ user name to use when invoking thentlm-wbtool, ifNTLMUSERwasn't set.NO_PROXYβ this has the same functionality as theCURLOPT_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 thentlm-wbtool.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 thentlm-wbtool, ifNTLMUSERandLOGNAMEweren't 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. Like, fr fr, do not ship these.
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 thelib/ldapimplementation.CURL_NTLM_WB_FILEβ Debug-only variable. Used to set to a debug-version of thentlm-wbexecutable.CURL_OPENLDAP_TRACEβ Debug-only variable. Used for debugging thelib/openldap.cimplementation.
okay that's the whole page π«Ά sending you off with the footer deets: this is libcurl-env(3), version libcurl 7.58.0, dated 20 January 2018 π
β¨
π¦ where this page comes from
- nixos 26.05: libgnurl 7.72.0
- nixpkgs unstable: libgnurl 7.72.0
- Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms