Sans KYC — pas d’ID, pas de selfie, pas de documents. Payer en crypto : BTC, USDT, USDC, ETH, SOL, LTC
Langue: Français
Commencez

Docs · curl 7.x et 8.x · Linux, macOS, Windows

curl avec proxies HTTP et SOCKS5 : exemples à copier-coller

curl est le moyen le plus rapide de tester identifiants, ciblage et temps avant de toucher à votre scraper. Chaque commande ci-dessous s’exécute telle quelle dès que vous remplacez USERNAME et PASSWORD.

Dernière mise à jour: · 4 min de lecture

Réponse rapide

Comment utiliser un proxy avec curl ?

Utilisez curl -x http://USERNAME:[email protected]:7777 https://api.ipify.org pour le proxy HTTP ou --socks5-hostname gw.crawlrelay.com:7778 avec -U USERNAME:PASSWORD pour SOCKS5. CrawlRelay proxy résidentiel prend le pays et une session persistante dans le nom d’utilisateur, comme USERNAME-country-de-session-t1-ttl-10. À partir de 0,50 $US/GB. Payez en crypto, sans KYC.

Flags curl nécessaires

-x / --proxyURL proxy : http://host:port, identifiants optionnels dans celle-ci
-U / --proxy-userIdentifiants proxy comme USERNAME:PASSWORD, hors de l’URL
--socks5-hostnameProxy SOCKS5 avec résolution DNS à la sortie
-vAffiche l'échange CONNECT et la ligne de statut du proxy
-wAffiche les temps, la taille et %{http_connect}, le statut CONNECT du proxy
--max-time, --connect-timeoutLimites totales et de connexion en secondes

Quelles sont les commandes de base pour un proxy ?

Chacune affiche l'IP de sortie vue par le site web.

Proxy HTTP, rotation, puis ciblé et sticky
# Rotating exit, any country
curl -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://api.ipify.org

# Country and city (city availability varies)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-city-chicago:PASSWORD https://api.ipify.org

# Sticky: run it twice, the IP stays the same for up to 10 minutes (it can change earlier)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-de-session-t1-ttl-10:PASSWORD https://api.ipify.org

# SOCKS5, DNS resolved at the exit
curl --socks5-hostname gw.crawlrelay.com:7778 -U USERNAME-country-gb:PASSWORD https://api.ipify.org

Comment déboguer une connexion proxy avec curl ?

Lancez avec -v et lisez les lignes autour de CONNECT. Un tunnel fonctionnel affiche HTTP/1.1 200 Connection established, puis la négociation TLS avec le site. Tout autre statut sur cette ligne vient du proxy : 407 signifie authentification, 502 ou 504 concernent la sortie ou la cible. Le format -w ci-dessous affiche la même info sur une ligne, pratique en boucles et CI.

Rapport verbeux CONNECT et timing sur une ligne
# Full exchange, including the proxy's answer to CONNECT
curl -v -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://example.com/ -o /dev/null

# One line: proxy CONNECT status, HTTP status, compressed bytes and timings
curl -s --compressed -o /dev/null -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD \
  -w 'connect=%{http_connect} http=%{http_code} bytes=%{size_download} tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s\n' \
  https://example.com/

Comment vérifier que la rotation et les sessions fonctionnent ?

Demandez l'IP plusieurs fois. Sans ID de session, chaque exécution est une nouvelle connexion et montre généralement une IP différente. Avec un ID de session, l'IP doit rester identique jusqu'à expiration du TTL, mais peut changer avant.

Rotation vs sticky dans une boucle shell
echo "rotating:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD https://api.ipify.org; echo
done

echo "sticky:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-session-loop1-ttl-5:PASSWORD https://api.ipify.org; echo
done

Comment utiliser curl avec un proxy sous Windows ?

Appelez curl.exe, pas curl. Sous Windows PowerShell 5.1, curl est un alias de Invoke-WebRequest, qui ne comprend pas -x ou -U. Windows 10 et 11 incluent le vrai curl sous curl.exe. Dans PowerShell, quotez les arguments avec caractères spéciaux et écrivez un $ littéral dans un mot de passe entre guillemets simples.

PowerShell
curl.exe -x http://gw.crawlrelay.com:7777 -U 'USERNAME-country-fr:PASSWORD' https://api.ipify.org

Comment configurer le proxy une fois pour toutes les commandes ?

curl lit les variables d'environnement https_proxy et http_proxy, ainsi que beaucoup d'autres outils. Configurez-les pour une session shell et utilisez NO_PROXY pour les hôtes qui ne doivent pas passer par le proxy, comme votre propre API. Évitez de mettre le mot de passe dans une variable exportée à tous les processus enfants sur une machine partagée.

Variables d'environnement (bash, zsh)
export https_proxy="http://USERNAME-country-us:[email protected]:7777"
export http_proxy="$https_proxy"
export NO_PROXY="localhost,127.0.0.1,.internal.example"

curl https://api.ipify.org   # now uses the proxy
unset https_proxy http_proxy # back to direct

curl et proxies : questions

Quelle est la différence entre --socks5 et --socks5-hostname ?

Avec --socks5, curl résout le nom d'hôte sur votre machine et envoie l'adresse IP au proxy. Avec --socks5-hostname, il envoie le nom d'hôte et la résolution se fait côté proxy. Utilisez --socks5-hostname pour scraper afin que les réponses DNS correspondent au pays de sortie, et que votre résolveur local ne voie pas les domaines consultés.

Pourquoi curl affiche 'CONNECT tunnel failed, response 407' ?

Le proxy a rejeté les identifiants ou n'en a reçu aucun. Vérifiez nom d'utilisateur et mot de passe, encodez correctement les caractères spéciaux s'ils sont dans l'URL -x, ou passez-les avec -U à la place. La page 407 liste les autres causes.

Comment voir combien d'octets une page coûte via le proxy ?

Ajoutez --compressed -o /dev/null -w '%{size_download}\n'. --compressed fait que curl demande gzip ou brotli comme votre scraper, et %{size_download} compte les octets compressés traversant le réseau. Sans cela, le serveur envoie la page non compressée et le chiffre peut être plusieurs fois plus élevé. Testez sur plusieurs pages réelles pour estimer votre trafic par 1 000 pages.

curl peut-il utiliser HTTP/2 ou HTTP/3 via le proxy ?

HTTP/2 fonctionne dans le tunnel CONNECT si le site le supporte, car le tunnel transporte TLS de bout en bout. HTTP/3 utilise UDP, que le tunnel CONNECT via un proxy HTTP ne transporte pas, préférez HTTP/2 ou HTTP/1.1 via la passerelle.

Testez vos cibles en ligne de commande

1,50 $US pour 1 GB, assez pour des milliers de tests curl.

À partir de 0,50 $US/GB · sans KYC

Commencez