1libcurl-env(3)                      libcurl                     libcurl-env(3)
2
3
4

NAME

6       libcurl-env - environment variables libcurl understands
7

DESCRIPTION

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 ex‐
17              tracts 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  "https://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.  Setting  a  name  that is not a built-in alternative will
39              make libcurl stay with the default.
40
41              SSL backend names (case-insensitive):  BearSSL,  GnuTLS,  gskit,
42              mbedTLS, nss, OpenSSL, rustls, Schannel, Secure-Transport, wolf‐
43              SSL
44
45       HOME   When the netrc feature is used (CURLOPT_NETRC(3)), this variable
46              is  checked as the primary way to find the "current" home direc‐
47              tory in which the .netrc file is likely to exist.
48
49       USERPROFILE
50              When the netrc feature is used (CURLOPT_NETRC(3)), this variable
51              is  checked  as the secondary way to find the "current" home di‐
52              rectory (on Windows only) in which the .netrc file is likely  to
53              exist.
54
55       LOGNAME
56              User name to use when invoking the ntlm-wb tool, if NTLMUSER was
57              not set.
58
59       NO_PROXY
60              This has the same functionality as  the  CURLOPT_NOPROXY(3)  op‐
61              tion:  it gives libcurl a comma-separated list of host name pat‐
62              terns for which libcurl should not use a proxy.
63
64       NTLMUSER
65              User name to use when invoking the ntlm-wb tool.
66
67       SSLKEYLOGFILE
68              When set and libcurl runs with a SSL backend that supports  this
69              feature, libcurl will save SSL secrets into the given file name.
70              Using those SSL secrets, other tools (such as Wireshark) can de‐
71              crypt the SSL communication and analyze/view the traffic.
72
73       SSL_DIR
74              When  libcurl  runs with the NSS backends for TLS features, this
75              variable is used to find the directory for NSS PKI database  in‐
76              stead of the built-in.
77
78       USER   User name to use when invoking the ntlm-wb tool, if NTLMUSER and
79              LOGNAME were not set.
80

Debug Variables

82       There's a set of variables only recognized  and  used  if  libcurl  was
83       built "debug enabled", which should never be true for a library used in
84       production.
85
86       CURL_GETHOSTNAME
87              Debug-only variable.
88
89       CURL_FORCETIME
90              Debug-only variable.
91
92       CURL_ENTROPY
93              Debug-only variable. Used to set a fixed faked value to use  in‐
94              stead  of  a  proper  random number so that functions in libcurl
95              that are otherwise getting random outputs can be tested for what
96              they generate.
97
98       CURL_TRACE
99              Debug-only variable. Used for debugging the lib/ldap implementa‐
100              tion.
101
102       CURL_NTLM_WB_FILE
103              Debug-only variable. Used to set to a debug-version of the ntlm-
104              wb executable.
105
106       CURL_OPENLDAP_TRACE
107              Debug-only variable. Used for debugging the OpenLDAP implementa‐
108              tion.
109
110
111
112libcurl 8.2.1                   April 26, 2023                  libcurl-env(3)
Impressum