"curl" ignoriert Proxy-Umgebungsvariable bei Verwendung einer IP-Adresse?

710
larsks

Ich verwende, curlum auf einige Webdienste über einen Proxy zuzugreifen (eine Instanz, polipodie auf Port 8123 ausgeführt wird und mit einem SSH- SOCKS5Proxy verkettet ist ). Wenn ich mithilfe der http_proxyUmgebungsvariablen Proxy-Informationen bereitstelle, funktioniert dies für Anforderungen mit Hostnamen problemlos.

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

Der Name kann overcloud-public-vipnicht lokal aufgelöst werden, er kann jedoch vom Remote-Proxy in 192.168.30.6 aufgelöst werden. Wenn ich versuche, die IP-Adresse des Zielhosts anstelle des Hostnamens zu verwenden, schlägt dies fehl:

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

Auf der anderen Seite funktioniert dieselbe URL einwandfrei, wenn ich die -x Befehlszeilenoption anstelle einer Umgebungsvariablen verwende:

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

Warum verhält es sich anders, wenn Sie den Proxy mithilfe einer Befehlszeilenoption angeben, als den Proxy in der Umgebung angeben? Ist das ein Fehler oder fehlt mir etwas?

1
Ich kann dem nicht auf den Grund gehen und ich kann es nicht testen, aber in den Beispielen, die ich gefunden habe, wird in einer Zeile "export http_proxy = ..." und in der nächsten "curl ..." angegeben. Funktioniert das genauso wie `-x`? AFH vor 8 Jahren 0

0 Antworten auf die Frage