1libcurl-env(3) libcurl environment variables libcurl-env(3)
2
3
4
6 libcurl-env - environment variables libcurl understands
7
9 libcurl reads and understands a set of environment variables that if
10 set will control and change behaviors. This is the full list of vari‐
11 ables to set and description of what they do. Also note that curl, the
12 command line tool, supports a set of additional environment variables
13 independently of this.
14
15 [scheme]_proxy
16 When libcurl is given a URL to use in a transfer, it first
17 extracts the "scheme" part from the URL and checks if there is a
18 given proxy set for that in its corresponding environment vari‐
19 able. A URL like "http://example.com" will hence use the
20 "http_proxy" variable, while a URL like "ftp://example.com" will
21 use the "ftp_proxy" variable.
22
23 These proxy variables are also checked for in their uppercase
24 versions, except the "http_proxy" one which is only used lower‐
25 case. Note also that some systems actually have a case insensi‐
26 tive handling of environment variables and then of course
27 "HTTP_PROXY" will still work...
28
29 ALL_PROXY
30 This is a setting to set proxy for all URLs, independently of
31 what scheme is being used. Note that the scheme specific vari‐
32 ables will override this one if set.
33
34 CURL_SSL_BACKEND
35 When libcurl is built to support multiple SSL backends, it will
36 select a specific backend at first use. If no selection is done
37 by the program using libcurl, this variable's selection will be
38 used. It should be set to the full SSL backend name to use (case
39 insensitive).
40
41 HOME When the netrc feature is used (CURLOPT_NETRC(3)), this variable
42 is checked as the primary way to find the "current" home direc‐
43 tory in which the .netrc file is likely to exist.
44
45 LOGNAME
46 User name to use when invoking the ntlm-wb tool, if NTLMUSER
47 wasn't set.
48
49 NO_PROXY
50 This has the same functionality as the CURLOPT_NOPROXY(3)
51 option: it gives libcurl a comma-separated list of host name
52 patterns for which libcurl should not use a proxy.
53
54 NTLMUSER
55 User name to use when invoking the ntlm-wb tool.
56
57 SSLKEYLOGFILE
58 When set and libcurl runs with a SSL backend that supports this
59 feature, libcurl will save SSL secrets into the given file name.
60 Using those SSL secrets, other tools (such as Wireshark) can
61 decrypt the SSL communication and analyze/view the traffic.
62
63 SSL_DIR
64 When libcurl runs with the NSS backends for TLS features, this
65 variable is used to find the directory for NSS PKI database
66 instead of the built-in.
67
68 USER User name to use when invoking the ntlm-wb tool, if NTLMUSER and
69 LOGNAME weren't set.
70
72 There's a set of variables only recognized and used if libcurl was
73 built "debug enabled", which should never be true for a library used in
74 production.
75
76 CURL_GETHOSTNAME
77 Debug-only variable.
78
79 CURL_FORCETIME
80 Debug-only variable.
81
82 CURL_ENTROPY
83 Debug-only variable. Used to set a fixed faked value to use
84 instead of a proper random number so that functions in libcurl
85 that are otherwise getting random outputs can be tested for what
86 they generate.
87
88 CURL_TRACE
89 Debug-only variable. Used for debugging the lib/ldap implementa‐
90 tion.
91
92 CURL_NTLM_WB_FILE
93 Debug-only variable. Used to set to a debug-version of the ntlm-
94 wb executable.
95
96 CURL_OPENLDAP_TRACE
97 Debug-only variable. Used for debugging the lib/openldap.c
98 implementation.
99
100
101
102libcurl 7.69.1 April 17, 2018 libcurl-env(3)