How do I make curl ignore the proxy? Setting $NO_PROXY doesn't seem to work for me.
How do I make curl ignore the proxy? Setting $NO_PROXY doesn't seem to work for me.
I assume curl is reading the proxy address from the environment variable http_proxy and that the variable should keep its value. Then in a shell like bash, export http_proxy=''; before a command (or in a shell script) would temporarily change its value.
(See curl's manual for all the variables it looks at, under the ENVIRONMENT heading.)
This works just fine, set the proxy string to ""
curl -x "" http://www.stackoverflow.com
Add your proxy preferences into .curlrc or _curlrc (windows)
proxy = 1.2.3.4
noproxy = .dev,localhost,127.0.0.1
This make all dev domains and local machine request ignore the proxy.
See man page proxy and noproxy on same page.
Long shot but try setting the proxy to "" (empty string) that should override any proxy settings according to the man page.
First, I listed the current proxy setting with
env | sort | less
(should be something like http_proxy=http://wpad.local.machine.location:port number)
Then I tried setting
export http_proxy=";"
which gave this error message:
curl: (5) Couldn't resolve proxy ';'
Tried
export http_proxy="" && curl http://servername:portnumber/destinationpath/ -d 55
and it worked!
PS! Remember to set http-proxy back to its original settings with
export http_proxy=http://wpad.local.machine.location:port number
I have http_proxy and https_proxy are defined. I don't want to unset and set again those environments but --noproxy '*' works perfectly for me.
curl --noproxy '*' -XGET 172.17.0.2:9200
{
"status" : 200,
"name" : "Medusa",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.5.0",
"build_hash" : "544816042d40151d3ce4ba4f95399d7860dc2e92",
"build_timestamp" : "2015-03-23T14:30:58Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
In my case (macos, curl 7.54.0), I have below proxy set with ~/.bash_profile
$ env |grep -i proxy |cut -d = -f1|sort
FTP_PROXY
HTTPS_PROXY
HTTP_PROXY
NO_PROXY
PROXY
ftp_proxy
http_proxy
https_proxy
no_proxy
With unknown reason, this version of curl can't work with environment variables NO_PRXY and no_proxy properly, then I unset the proxy environment variables one by one, until to both HTTPS_PROXY and https_proxy.
unset HTTPS_PROXY
unset https_proxy
it starts working and can connect to internal urls
So I would recommend to unset all proxy variables if you have in your environment as temporary solution.
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY