it-swarm.com.de

HTTP-Anfragen mit cURL ausführen (mit PROXY)

Ich habe diese Proxy-Adresse: 125.119.175.48:8909

Wie kann ich eine HTTP-Anfrage mit cURL wie curl http://www.example.com ausführen, aber die Proxy-Adresse meines Netzwerks angeben?

404
user873286

Allgemeiner Weg:

export http_proxy=http://your.proxy.server:port/

Dann können Sie sich über einen Proxy von (vielen) Anwendungen aus verbinden.

Und laut Kommentar unten für https:

export https_proxy=https://your.proxy.server:port/
385
airween

Aus man curl:

-x, --proxy <[protocol://][user:[email protected]]proxyhost[:port]>

     Use the specified HTTP proxy. 
     If the port number is not specified, it is assumed at port 1080.
591
Karl Barker

Die obigen Lösungen funktionieren möglicherweise nicht mit einigen Curl-Versionen, die ich selbst ausprobiert habe (Curl 7.22.0). Aber was bei mir funktioniert hat war:

curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url

Hoffe es löst das Problem besser!

112
Amar

Beachten Sie, dass Sie bei Verwendung eines SOCKS-Proxys anstelle eines HTTP/HTTPS-Proxys stattdessen den Schalter --socks5 verwenden müssen:

curl --socks5 125.119.175.48:8909 http://example.com/

Sie können auch --socks5-hostname anstelle von --socks5 verwenden, um das DNS auf der Proxy-Seite aufzulösen.

72
Filipe Correia

als Zusatz zu airween ist es eine weitere gute Idee, dies in Ihre .bashrc-Datei einzufügen, damit Sie von einer nicht-Proxy-Umgebung zu einer Proxy-Umgebung wechseln können:

alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"

WO YOURPROXY: YOURPORT ist genau das, Ihre IP und Port Proxy :-).

Dann einfach machen

proxyon

ihr System wird beginnen, den Proxy zu verwenden, und genau das Gegenteil mit:

proxyoff
48

verwenden Sie Folgendes

curl -I -x 192.168.X.X:XX http://google.com

192.168.X.X:XX Geben Sie die IP-Adresse und den Port Ihres Proxy-Servers ein.

-v Ausführlicher Modus, in dem weitere Details einschließlich Überschriften und Antworten angezeigt werden.

32
13krn

sie können verwenden:

curl http://www.example.com --proxy http://125.119.175.48:8909

wie von Karl erklärt

29
smitkpatel

Ich benutze dies gerne, um die IP zu ermitteln, unter der ich gesehen werde

curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo

Hoffe das hilft jemandem.

25
bmetge

Für curl können Sie den Proxy in Ihrer ~/.curlrc (_curlrc unter Windows) -Datei konfigurieren, indem Sie den Wert proxy hinzufügen. Die Syntax lautet:

proxy = http://username:[email protected]:port
17
kenorb

Fassen Sie einfach alle großartigen Antworten zusammen:

curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
13
M. Mashaye

Mit einem Proxy mit Authentifizierung verwende ich:

curl -x <protocol>://<user>:<password>@<Host>:<port> --proxy-anyauth <url>

ich weiß nicht, warum curl/catch http [s] _proxy Umgebungsvariablen nicht verwendet.

Abhängig von Ihrem Arbeitsplatz müssen Sie möglicherweise auch die Option -k oder --insecure für Curl angeben, um frühere potenzielle Probleme mit CA-Zertifikaten zu beheben.

curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
2
Matt Legler

Sie müssen die Shell-Variable http[s]_proxy nicht exportieren, wenn Sie nur den Proxy für einen einmaligen Befehl festlegen. z.B.

http_proxy=http://your.proxy.server:port curl http://www.example.com

Das heißt, ich würde curl -x vorziehen, wenn ich wüsste, dass ich immer einen Proxy verwenden würde.

2
overthink
Sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg

Das hat bei mir einwandfrei geklappt, der Fehler kommt daher, dass curl den Proxy einstellen muss

Erinnern Sie sich, den Proxy durch Ihren Proxy zu ersetzen, mein "Beispiel" war http://10.1.1.50:8080/ .

0
IbarMario