如何让curl忽略代理?
如何让curl忽略代理? 设置$ NO_PROXY似乎不适用于我。
我假设curl正在从环境variableshttp_proxy读取代理地址,并且该variables应该保留它的值。 然后在像bash这样的shell中, export http_proxy=''; 在一个命令(或在一个shell脚本)之前会暂时改变它的值。 
  (在ENVIRONMENT标题下查看所有variables的curl手册。) 
 如果你的curl至less是7.19.4版,你可以使用--noproxy标志。 
 curl --noproxy "*" http://www.stackoverflow.com 
从手册 。
我遇到了同样的问题,因为我设置了http_proxy和https_proxy环境variables。 但偶尔,我连接到不同的networking,需要暂时绕过代理。 最简单的方法(不更改环境variables)是:
 curl --noproxy '*' stackoverflow.com 
从手册: “唯一的通配符是一个单一的*字符,它匹配所有主机,并有效地禁用代理。”
*字符被引用,以便它不会被shell错误地扩展。
长枪,但尝试设置代理为“”(空string),应该覆盖任何代理设置根据手册页。
 我有http_proxy和https_proxy被定义。 我不想再次设置和设置这些环境, 但 --noproxy '*'完全适合我。 
 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" } 
首先,我列出了当前的代理设置
 env | sort | less 
  (应该是像http_proxy=http://wpad.local.machine.location:port number ) 
然后我试着设置
 export http_proxy=";" 
这给了这个错误消息:
 curl: (5) Couldn't resolve proxy ';' 
试着
 export http_proxy="" && curl http://servername:portnumber/destinationpath/ -d 55 
它的工作!
PS! 记得把http-proxy设置回原来的设置
 export http_proxy=http://wpad.local.machine.location:port number 
 你应该使用$no_proxy envvariables(小写)。 例如,请查阅https://wiki.archlinux.org/index.php/proxy_settings 。 
此外,很久以前,curl就有一个bug http://sourceforge.net/p/curl/bugs/185/ ,也许你正在使用一个包含这个bug的古curl版本。
将您的代理首选项添加到.curlrc中
 proxy = 1.2.3.4 noproxy = .dev,localhost,127.0.0.1 
这使所有开发域和本地机器请求忽略代理。
在我设置“no_proxy”(小写)环境variables之前,我的curl并没有忽略Ubuntu 12.04上的代理。 –noproxy选项不可用。
 跛脚答案,但是:请记住确保没有代理设置在~/.curlrc文件(…)。