J'ai cette adresse proxy: 125.119.175.48:8909
Comment puis-je effectuer une requête HTTP en utilisant cURL comme curl http://www.example.com
, mais en spécifiant l'adresse proxy de mon réseau?
Manière générale:
export http_proxy=http://your.proxy.server:port/
Ensuite, vous pouvez vous connecter via un proxy à partir de (plusieurs) applications.
Et, comme dans le commentaire ci-dessous, pour https:
export https_proxy=https://your.proxy.server:port/
De man curl
:
-x, --proxy <[protocol://][user:password@]proxyhost[:port]>
Use the specified HTTP proxy.
If the port number is not specified, it is assumed at port 1080.
Les solutions ci-dessus peuvent ne pas fonctionner avec certaines versions de curl, je les ai essayées moi-même (curl 7.22.0). Mais ce qui a fonctionné pour moi a été:
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
J'espère que cela résoudra mieux le problème!
Attention, si vous utilisez un proxy SOCKS au lieu d'un proxy HTTP/HTTPS, vous devrez utiliser le commutateur --socks5
:
curl --socks5 125.119.175.48:8909 http://example.com/
Vous pouvez également utiliser --socks5-hostname
au lieu de --socks5
pour résoudre DNS du côté du proxy.
en complément de airween, une autre bonne idée est d’ajouter cela dans votre .bashrc, afin de pouvoir passer d’un environnement non proxy à un environnement proxy:
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
O YOURPROXY: YOURPORT est exactement cela, votre adresse IP et votre proxy de port :-).
Ensuite, il suffit de faire
proxyon
votre système commencera à utiliser le proxy, et au contraire avec:
proxyoff
utilisez le suivant
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
mettez l'adresse IP et le port de votre serveur proxy.
-v
mode verbeux, il donnera plus de détails, y compris les en-têtes et les réponses.
vous pouvez utiliser :
curl http://www.example.com --proxy http://125.119.175.48:8909
comme expliqué par Karl
J'aime utiliser ceci afin d'obtenir l'adresse IP sous laquelle on me voit
curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo
J'espère que ça aide quelqu'un.
Pour curl
, vous pouvez configurer le proxy dans votre fichier ~/.curlrc
(_curlrc
sous Windows) en ajoutant la valeur proxy
. La syntaxe est la suivante:
proxy = http://username:password@proxy-Host:port
Résumant simplement toutes les bonnes réponses citées:
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
Avec un proxy avec authentification j'utilise:
curl -x <protocol>://<user>:<password>@<Host>:<port> --proxy-anyauth <url>
parce que, je ne sais pas pourquoi curl n’utilise pas/catch http [s] _proxy variables d’environnement.
En fonction de votre lieu de travail, vous devrez peut-être également spécifier l'option -k
ou --insecure
pour curl afin d'éviter les problèmes éventuels liés aux certificats de CA.
curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
Vous n'avez pas besoin d'exporter la variable Shell _http[s]_proxy
_ si vous configurez simplement le proxy pour une commande unique. par exemple.
_http_proxy=http://your.proxy.server:port curl http://www.example.com
_
Cela dit, je préférerais _curl -x
_ si je savais que j'allais toujours utiliser un proxy.
Sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg
Cela a parfaitement fonctionné pour moi, l'erreur vient du fait que curl doit définir le proxy
Remmember remplace le proxy par votre proxy, le mien, "exemple" était http://10.1.1.50:8080/ .