Pergunta
Como posso fazer onda ignorar o proxy? Configuração faz $ NO_ PROXY não parecem trabalhar para mim.
Solução
Eu assumo onda está lendo o endereço de proxy do ambiente variável http_proxy
e que a variável deve manter o seu valor. Então, em um shell como bash, export http_proxy='';
antes de um comando (ou em um script shell) iria mudar temporariamente o seu valor.
(Veja onda de manual para todas as variáveis ??Olha, sob o título ENVIRONMENT
.)
Outras dicas
Se o seu curl
é pelo menos a versão 7.19.4
, você pode simplesmente usar a bandeira --noproxy
.
curl --noproxy "*" http://www.stackoverflow.com
Eu corri para o mesmo problema, porque eu definir as variáveis ??http_proxy e https_proxy variáveis ??de ambiente. Mas, ocasionalmente, eu conectar a uma rede diferente e necessidade de ignorar o proxy temporariamente. A maneira mais fácil de fazer isso (sem alterar as variáveis ??de ambiente) é:
curl --noproxy '*' stackoverflow.com
A partir do manual: "A única curinga é um único caractere *, que corresponde a todos os anfitriões, e efetivamente desativa o proxy"
O caractere * é citado de modo que não é erroneamente expandida pelo shell.
Long tiro, mas tente definir o proxy para "" (string vazia), que deve substituir as configurações de proxy de acordo com a página do manual.
Em primeiro lugar, eu listei a configuração de proxy atual com
env | sort | less
(deve ser algo como http_proxy=http://wpad.local.machine.location:port number
)
Então eu tentei configuração
export http_proxy=";"
que deu esta mensagem de erro:
curl: (5) Couldn't resolve proxy ';'
Tentou
export http_proxy="" && curl http://servername:portnumber/destinationpath/ -d 55
e funcionou!
PS! Lembre-se de um retrocesso http-proxy para as configurações originais com
export http_proxy=http://wpad.local.machine.location:port number
Eu tenho http_proxy
e https_proxy
são definidos. Eu não quero unset e definir novamente os ambientes e --noproxy '*'
funciona perfeitamente para mim.
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"
}
Isso funciona muito bem, definir a cadeia de proxy para ""
curl -x "" http://www.stackoverflow.com
Você deve usar variável env $no_proxy
(letras minúsculas). Por favor, consulte https://wiki.archlinux.org/index.php/proxy_settings para exemplos .
Além disso, havia um bug em muito tempo onda atrás http://sourceforge.net/ p / onda / insetos / 185 / , talvez você estiver usando uma versão antiga onda que inclui este bug.
Adicionar suas preferências de proxy em .curlrc
proxy = 1.2.3.4
noproxy = .dev,localhost,127.0.0.1
Este make todos os domínios dev e pedido máquina local ignorar o proxy.
resposta Lame mas:. Lembre-se de certificar-se de nenhum proxy é configurado em um arquivo ~/.curlrc
(...)
No meu caso (MacOS, curl 7.54.0
), eu tenho abaixo set procuração com ~/.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
Com razão desconhecida, esta versão do curl
pode não funcionar com variáveis ??de ambiente NO_PRXY
e no_proxy
corretamente, então eu retirar a variáveis ??de ambiente de proxy, um por um, até que tanto HTTPS_PROXY
e https_proxy
.
unset HTTPS_PROXY
unset https_proxy
ele começa a trabalhar e pode se conectar a URLs internas
Então, eu recomendaria para resetar todas as variáveis ??de proxy se você tem em seu ambiente como solução temporária.
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
A minha onda não estava ignorando o proxy no Ubuntu 12.04 até que eu definir o "no_proxy" (em minúsculas) variável de ambiente. A opção --noproxy não estava disponível.