curl avec un proxy SOCKS5 : la référence complète
La référence définitive sur curl et proxy : SOCKS5 vs SOCKS5h, les drapeaux -x et --socks5-hostname, les variables d'environnement, un .curlrc persistant et des points de terminaison s4m authentifiés. Prêt à copier-coller.
SOCKS5 vs SOCKS5h, et pourquoi cela compte
curl prend en charge à la fois les proxies HTTP et SOCKS, et le schéma exact que vous choisissez détermine où le DNS est résolu. Avec socks5://, curl résout le nom d'hôte cible sur votre propre machine, puis se connecte via le proxy, ce qui peut révéler les domaines que vous visitez. Avec socks5h:// (le h est pour le nom d'hôte), le proxy résout le DNS à distance, donc les recherches ne quittent jamais votre machine. Pour la confidentialité, préférez socks5h — la même règle s'applique au drapeau --socks5-hostname, qui est l'équivalent en forme longue.
s4m vous donne les deux protocoles sur un seul compte : SOCKS5 sur le port 1080 et HTTP sur le port 3128, tous deux authentifiés avec USER:PASS contre proxy.s4m.online. Le drapeau générique -x / --proxy accepte une URL complète incluant le schéma, donc un seul drapeau couvre tous les cas. Pour les bases du routage de curl à travers un proxy, consultez le guide proxy curl ; cette page est la référence plus approfondie pour SOCKS5, les variables d'environnement et la configuration persistante. Des informations de base sur les protocoles se trouvent dans qu'est-ce que SOCKS5.
Chaque invocation de proxy, un seul endroit
SOCKS5, SOCKS5h, HTTP, auth, vars d'environnement et un fichier .curlrc. Remplacez USER:PASS par vos identifiants.
# --- SOCKS5 with REMOTE DNS (recommended) --- curl -x socks5h://USER:PASS@proxy.s4m.online:1080 https://api.ipify.org # equivalent long form: curl --socks5-hostname proxy.s4m.online:1080 -U USER:PASS https://api.ipify.org # --- SOCKS5 with LOCAL DNS (leaks hostnames) --- curl -x socks5://USER:PASS@proxy.s4m.online:1080 https://api.ipify.org # --- HTTP / HTTPS proxy (port 3128) --- curl -x http://USER:PASS@proxy.s4m.online:3128 https://api.ipify.org # --- Whole-session env vars (any http_proxy-aware tool honors these) --- export ALL_PROXY="socks5h://USER:PASS@proxy.s4m.online:1080" export HTTPS_PROXY="http://USER:PASS@proxy.s4m.online:3128" export NO_PROXY="localhost,127.0.0.1,.internal" curl https://api.ipify.org # now proxied with no -x flag # --- Persistent config: ~/.curlrc (applied to every curl run) --- cat > ~/.curlrc <<'RC' proxy = socks5h://proxy.s4m.online:1080 proxy-user = USER:PASS connect-timeout = 10 RC curl https://api.ipify.org # reads ~/.curlrc automatically # --- Ignore ~/.curlrc for one call --- curl -q --noproxy '*' https://api.ipify.org
Configurez un proxy persistant pour curl
Ainsi, chaque commande curl est proxyée sans répéter les drapeaux.
Choisissez un schéma
Choisissez socks5h:// sur le port 1080 pour le DNS distant et tout protocole, ou http:// sur le port 3128 pour le trafic web classique. socks5h est le paramètre par défaut sûr pour la vie privée.
Créez ~/.curlrc
Ajoutez proxy = socks5h://proxy.s4m.online:1080 et proxy-user = USER:PASS à ~/.curlrc. curl lit ce fichier à chaque exécution sauf si vous passez -q.
Définir des variables d'environnement pour d'autres outils
Exportez ALL_PROXY afin que tout CLI compatible http_proxy (wget, git, gestionnaires de paquets) partage la même sortie, et définissez NO_PROXY pour les hôtes qui doivent contourner le proxy.
Vérifiez et ajoutez des exceptions
Exécutez curl https://api.ipify.org pour confirmer l'IP de sortie, puis utilisez --noproxy ou NO_PROXY pour exclure les hôtes internes que vous ne souhaitez jamais proxy.
Options d'authentification, priorité et NTLM
Vous pouvez fournir des identifiants de deux manières : en ligne dans l'URL (socks5h://USER:PASS@host) ou séparément avec -U / --proxy-user. Si votre mot de passe contient des caractères comme @ ou :, préférez -U ou encodez-les en URL pour que curl analyse correctement l'URL. Les options de ligne de commande remplacent toujours les variables d'environnement, qui à leur tour remplacent ~/.curlrc — donc un -x ponctuel l'emporte sur votre configuration persistante.
Pour les proxys d'entreprise qui utilisent l'authentification Windows NTLM, curl prend en charge --proxy-ntlm en plus de -U ; s4m lui-même utilise l'authentification standard USER:PASS (Basic), donc vous n'aurez pas besoin de NTLM avec nos points de terminaison. Si une requête renvoie 407 Proxy Authentication Required, vos identifiants sont manquants ou incorrects — consultez le guide de correction 407. Les mêmes variables d'environnement alimentent wget et d'autres outils, et vous pouvez valider n'importe quel point de terminaison avec les outils ou tester des proxys ouverts à partir de la liste gratuite.
Questions, réponses
Quelle est la différence entre socks5 et socks5h dans curl ?
socks5:// résout DNS sur votre machine locale avant de se connecter ; socks5h:// demande au proxy de le résoudre à distance. Utilisez socks5h pour éviter de divulguer les noms d'hôtes que vous demandez. Le drapeau --socks5-hostname est le même que socks5h.
Comment faire en sorte que curl utilise un proxy pour chaque commande ?
Mettez proxy = socks5h://proxy.s4m.online:1080 et proxy-user = USER:PASS dans ~/.curlrc, ou exportez ALL_PROXY. curl proxy automatiquement chaque requête ; passez -q ou --noproxy pour l'ignorer pour un appel.
S4m a-t-il besoin d'une authentification proxy NTLM ?
Non. s4m utilise l'authentification standard USER:PASS (de base) sur les ports 1080 et 3128. --proxy-ntlm de curl est uniquement pour les proxies d'entreprise qui nécessitent Windows NTLM.
Pourquoi ai-je le message 407 Proxy Authentication Required ?
Vos identifiants sont manquants, malformés ou incorrects. Fournissez-les avec -U USER:PASS ou en ligne dans l'URL du proxy, en encodant tout caractère spécial dans le mot de passe. Consultez notre guide 407 pour une liste de contrôle complète.
Un point de terminaison, chaque astuce curl
Proxys SOCKS5 (1080) et HTTP (3128) authentifiés sur proxy.s4m.online, prêts pour -x, --socks5-hostname et ~/.curlrc. À la demande, payez au fur et à mesure, IP dédiée en option.
Les gens ont trouvé cette page en recherchant
- curl avec un proxy SOCKS5
- curl avec un proxy SOCKS5 pour les débutants
- curl avec un proxy SOCKS5 comparaison
- curl avec un proxy SOCKS5 pour le scraping
- curl avec un proxy SOCKS5 tutoriel
- comment configurer proxy pour le scraping
- comment faire tourner des proxies en Python (requests et aiohttp)
- comment vérifier authentification de proxy
- empreinte du navigateur
- proxy http fournisseur
- wireguard
- comment éviter les interdictions d'IP lors du scraping
Vraies phrases de recherche auxquelles cette page répond — les liens ouvrent la page qui les couvre en profondeur.