“curl” ignora a variável de ambiente proxy ao usar um endereço IP?

1

Estou usando curl para acessar alguns serviços da Web por meio de um proxy (uma instância de polipo em execução na porta 8123, encadeada a um proxy ssh SOCKS5 ). Se eu fornecer informações de proxy usando a variável de ambiente http_proxy , ela funcionará bem para solicitações que usam nomes de host:

$ http_proxy=http://localhost:8123 curl http://overcloud-public-vip:5000/v2.0
{"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", ...

O nome overcloud-public-vip não pode ser resolvido localmente, mas pode ser resolvido pelo proxy remoto para 192.168.30.6. Se eu tentar usar o endereço IP do host de destino em vez do nome do host, ele falhará:

$ http_proxy=http://localhost:8123 curl  http://192.168.30.6:5000/v2.0/

Por outro lado, o mesmo URL funciona bem se eu usar o -x opção de linha de comando em vez de uma variável de ambiente:

$ curl -x http://localhost:8123 http://192.168.30.6:5000/v2.0/
{"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", ...

Por que há um comportamento diferente ao especificar o proxy usando um opção de linha de comando vs. especificando o proxy no ambiente? Isso é um bug, ou estou faltando alguma coisa?

    
por larsks 21.03.2016 / 18:26

0 respostas