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?
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/
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.
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!
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.
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
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.
sie können verwenden:
curl http://www.example.com --proxy http://125.119.175.48:8909
wie von Karl erklärt
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.
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
Fassen Sie einfach alle großartigen Antworten zusammen:
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
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>
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.
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/ .