Intégrations · Débutant

cURL via un proxy : toutes les options qui comptent, avec des exemples

cURL est le moyen le plus rapide de prouver qu'un proxy fonctionne et la référence imite par chaque bibliothèque. Apprenez ses cinq indicateurs de proxy et vous pourrez déboguer n’importe quel client.

2 minutes de lecture 6 volets Vérifié Équipe éditoriale Proxy Cyber

Le one-liner#

Première demande
curl -x http://USER-cc-us:PASS@res.proxy-cyber.com:9000 https://api.ipify.org

-x (ou --proxy) prend l'URL du proxy avec les informations d'identification intégrées. cURL tunnelise automatiquement les destinations HTTPS avec CONNECT et demande au proxy de résoudre le nom d'hôte.

Des drapeaux à connaître#

DrapeauObjectif
-x, --proxy URLLe proxy : schéma, hôte, port, informations d'identification facultatives
-U, --proxy-user utilisateur : passeInformations d'identification séparées, utiles lorsque le mot de passe comporte des caractères spéciaux
--proxy-basiqueForcer l'authentification proxy de base (la valeur par défaut lorsqu'un mot de passe est donné)
-vAfficher l'échange CONNECT, les codes d'état du proxy et les en-têtes de réponse
--noproxy '*'Ignorer les variables d'environnement proxy pour cet appel
-w '%{time_total}\n'Imprimer le timing pour comparer les sorties

SOCKS5 et DNS distant#

chaussettes5h
# Hostname resolved at the exit (recommended)
curl -x socks5h://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

# Hostname resolved locally, then the IP is sent to the proxy (leaks the lookup)
curl -x socks5://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

Variables d'environnement#

Les outils qui déboursent pour cURL, et bien d'autres, honorent http_proxy, https_proxy et no_proxy. Exportez-les une fois pour une session de travail.

Coquille
export https_proxy="http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
export http_proxy="$https_proxy"
export no_proxy="localhost,127.0.0.1"
curl https://api.ipify.org   # proxied without -x

Lire un échec#

Verbeux
curl -v -x http://USER:WRONG@res.proxy-cyber.com:9000 https://api.ipify.org 2>&1 | grep -E "CONNECT|HTTP/1.1 4|HTTP/1.1 5"
# < HTTP/1.1 407 Proxy Authentication Required  -> credentials
# < HTTP/1.1 400 Bad Request                    -> a username parameter is wrong
# < HTTP/1.1 502 Bad Gateway                    -> no exit for that location; widen it

Un état sur la ligne CONNECT provient de la passerelle ; un statut après Connection established vient de la destination. Le page d'erreurs mappe chaque code de passerelle.

Rotation des sessions en boucle#

Frapper
for i in $(seq 1 5); do
  curl -s -x "http://USER-cc-us-sid-run$i-ttl-5m:PASS@res.proxy-cyber.com:9000" https://api.ipify.org
  echo
done   # five different United States exits, each reusable for five minutes under its id

Les questions que les gens posent#

CURL a-t-il besoin d'un indicateur spécial pour HTTPS via le proxy ?

Non. Avec une URL de proxy http://, cURL émet automatiquement CONNECT pour les destinations https:// ; --proxytunnel n'a d'importance que pour forcer un tunnel sur HTTP simple.

Mon mot de passe contient @ ou : et cURL échoue.

Transmettez les informations d'identification avec -U user:pass au lieu de les intégrer dans l'URL, ou encodez les caractères spéciaux en URL.

Votre compte

Gérez vos proxys dans un seul compte

Comparez les réseaux, passez des commandes et suivez votre solde et vos demandes d'assistance à partir d'un seul tableau de bord. Notre équipe examine les paiements et fournit les détails de connexion après la livraison.

Créer un compte