url: --noproxy option overrides NO_PROXY environment variable

Under condition using http_proxy env var, noproxy list was the
combination of --noproxy option and NO_PROXY env var previously. Since
this commit, --noproxy option overrides NO_PROXY environment variable
even if use http_proxy env var.

Closes #1140
This commit is contained in:
ERAMOTO Masaya 2016-12-19 16:27:24 +09:00 committed by Daniel Stenberg
parent efdbfde7ca
commit 2ac1942c72
10 changed files with 335 additions and 2 deletions

View file

@ -9,3 +9,7 @@ effectively disables the proxy. Each name in this list is matched as either
a domain which contains the hostname, or the hostname itself. For example,
local.com would match local.com, local.com:80, and www.local.com, but not
www.notlocal.com.
Since 7.52.2, This option overrides the environment variables that disable
the proxy. If there's an environment variable disabling a proxy, you can set
noproxy list to \&"" to override it.

View file

@ -23,6 +23,16 @@ Sets the proxy server to use if no protocol-specific proxy is set.
.IP "NO_PROXY <comma-separated list of hosts>"
list of host names that shouldn't go through any proxy. If set to a asterisk
\&'*' only, it matches all hosts.
Since 7.52.2, this environment variable disable the proxy even if specify
--proxy option. That is
.B NO_PROXY=direct.example.com curl -x http://proxy.example.com
.B http://direct.example.com
accesses the target URL directly, and
.B NO_PROXY=direct.example.com curl -x http://proxy.example.com
.B http://somewhere.example.com
accesses the target URL through proxy.
.SH "PROXY PROTOCOL PREFIXES"
Since curl version 7.21.7, the proxy string may be specified with a
protocol:// prefix to specify alternative proxy protocols.