Pergunta

Como posso fazer onda ignorar o proxy? Configuração faz $ NO_ PROXY não parecem trabalhar para mim.

Foi útil?

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

A partir da manual.

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top