In this Article
La bibliothèque requests de Python est le moyen le plus simple d’effectuer des appels HTTP : et l’ajout d’un proxy ne demande qu’un seul paramètre. Que vous fassiez du scraping, testiez du contenu géobloqué ou développiez un client API qui doit se comporter comme un vrai utilisateur, il suffit de faire passer vos requêtes par un proxy à l’aide de l’argument proxies=. Ce guide explique comment utiliser un proxy avec Python requests (HTTP, HTTPS, authentifié, SOCKS5, sessions, variables d’environnement et rotation), puis classe les 8 meilleurs proxies pour Python requests en 2026. Avec son tarif de $1/GB, DataImpulse offre un excellent rapport qualité-prix.
Je suis Andrii Byzov, AI-Native Fractional CMO, et j’écris des scrapers Python au quotidien. Vous trouverez ci-dessous des extraits prêts à l’emploi, l’installation de SOCKS5, le risque de fuite DNS et les fournisseurs qui valent l’investissement.
Points clés
- Passez un dictionnaire
proxiesavec les cléshttpethttps:requests.get(url, proxies={"http": "...", "https": "..."}). - Les identifiants s’insèrent dans l’URL du proxy :
http://user:pass@host:port: aucune étape d’authentification distincte n’est nécessaire. - Utilisez une
Sessionpour configurer le proxy une seule fois et le réutiliser sur de nombreuses requêtes, avec mise en pool des connexions. - SOCKS5 nécessite une installation :
pip install "requests[socks]", puis utilisezsocks5h://(le h) afin que la résolution DNS passe par le proxy et de ne pas révéler votre localisation réelle. - DataImpulse offre le meilleur rapport qualité-prix : résidentiel à $1/GB en paiement à l’usage, datacenter à $0.50/GB et mobile à $2/GB, 90M+ IP dans 195 pays, HTTP/HTTPS/SOCKS5, ciblage par pays/ville/ASN.
Comment utiliser un proxy avec Python Requests
1. Proxy HTTP/HTTPS de base avec authentification
import requests
proxies = {
"http": "http://YOUR_LOGIN__cr.us:[email protected]:823",
"https": "http://YOUR_LOGIN__cr.us:[email protected]:823", # __cr.us = US
}
r = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=30)
print(r.json()) # confirm the egress IP
Les deux clés renvoient vers le même proxy ; les identifiants présents dans l’URL sont utilisés automatiquement. Définissez toujours un timeout. Si votre mot de passe contient des caractères spéciaux (@ : # /), encodez-le d’abord dans l’URL avec urllib.parse.quote().
2. Une Session (configurez le proxy une fois, puis réutilisez-le)
session = requests.Session()
session.proxies = proxies
session.get("https://example.com/page1")
session.get("https://example.com/page2") # same proxy, pooled connections
3. SOCKS5 (installez une fois, évitez la fuite DNS)
# pip install "requests[socks]"
proxies = {
"http": "socks5h://YOUR_LOGIN__cr.us:[email protected]:824",
"https": "socks5h://YOUR_LOGIN__cr.us:[email protected]:824",
}
requests.get("https://httpbin.org/ip", proxies=proxies, timeout=30)
Utilisez socks5h (avec le h) afin que les noms d’hôte soient résolus par le proxy ; socks5 simple les résout localement et peut révéler votre emplacement réel. DataImpulse expose SOCKS5 sur le port 824.
4. Variables d’environnement & rotation
# env vars (requests honors these automatically):
# export HTTPS_PROXY="http://YOUR_LOGIN__cr.us:[email protected]:823"
# rotation: with a rotating gateway each request already gets a fresh IP
for _ in range(5):
print(requests.get("https://httpbin.org/ip", proxies=proxies, timeout=30).json())
Avec la passerelle résidentielle rotative de DataImpulse, chaque requête utilise automatiquement une nouvelle IP : sans avoir à gérer une liste de proxies. Pour faire vous-même tourner une liste statique, utilisez random.choice() pour sélectionner un proxy par requête.
Les meilleurs proxies pour Python Requests en un coup d’oeil
| Fournisseur | Idéal pour requests | Prix résidentiel | Protocoles | À noter |
|---|---|---|---|---|
| DataImpulse | Meilleur rapport qualité-prix, scripts & scraping | $1/GB PAYG | HTTP/HTTPS/SOCKS5 | Pool 90M+, SOCKS5 avec authentification, sans expiration |
| Bright Data | Entreprise et accompagnement | ~$4/GB promo; $8 standard | HTTP/HTTPS/SOCKS5 | Web Unlocker, SERP API, jeux de données |
| Oxylabs | SLA entreprise | à partir de $6/GB | HTTP/HTTPS/SOCKS5 | Pool 175M+, API de scraper |
| Decodo | Segment intermédiaire, couverture géographique complète | $3.75/GB (~$2 à 1TB+) | HTTP/HTTPS/SOCKS5 | Pool 115M+, sticky jusqu’à 24h |
| IPRoyal | Sessions sticky longues | à partir de $7.35/GB | HTTP/HTTPS/SOCKS5 | Sticky jusqu’à 7 jours; PAYG économique |
| SOAX | Mix résidentiel + mobile | $3.60/GB Starter | HTTP/HTTPS/SOCKS5 | 155M+ résidentiels, 33M+ mobiles |
| Webshare | Petit budget et libre-service | à partir de $3.50/mo résidentiel; $2.99/mo DC | HTTP/SOCKS5 | Offre gratuite, datacenter le moins cher |
| NetNut | Stabilité ISP-résidentielle | à partir de $3.53/GB | HTTP/HTTPS | IP statiques de FAI grand public |

Les fournisseurs en bref
DataImpulse offre le meilleur rapport qualité-prix pour les usages de Python requests : résidentiel à $1/GB en paiement à l’usage (datacenter $0.50/GB, mobile $2/GB), plus de 90M d’IP dans 195 pays, HTTP/HTTPS et SOCKS5 authentifié, avec ciblage par pays/ville/ASN dans le nom d’utilisateur. Le trafic n’expire jamais : vos essais de développement ne grèvent donc pas un abonnement. Taux de réussite annoncé : 99.51 % ; note G2 : 4.8/5 ; support humain 24/7. Pour le scraping à haut volume avec requests, son coût par requête réussie est le plus bas.
Bright Data est le choix entreprise (résidentiel ~$8/GB standard, ~$4 en promo) avec Web Unlocker, SERP API et datasets. Oxylabs (à partir de $6/GB, pool 175M+) est une option assortie d’un SLA. Decodo (à partir de $3.75/GB, sticky jusqu’à 24h) est une option équilibrée pour le segment intermédiaire. IPRoyal (à partir de $7.35/GB, sticky jusqu’à 7 jours) convient aux scripts longs avec sessions stables. SOAX ($3.60/GB, 155M+ résidentiels + 33M+ mobiles) propose également un vaste pool mobile. Webshare (offre gratuite, datacenter à partir de $2.99/mo) est une solution économique d’entrée de gamme en libre-service, et NetNut (à partir de $3.53/GB) convient si vous recherchez la stabilité d’IP résidentielles de FAI. Tous fonctionnent avec l’argument proxies=.
Erreurs fréquentes avec les proxies Python Requests
- Utiliser
socks5://au lieu desocks5h://:socks5résout le DNS localement et peut révéler votre emplacement réel ; utilisezsocks5h. - Oublier
pip install "requests[socks]": sans cela, une URL de proxysocks5déclenche une erreur “Missing dependencies for SOCKS support”. - Absence de
timeout. Un proxy indisponible peut bloquer une requête indéfiniment ; indiquez toujourstimeout=. - Utiliser
verify=Falsepour “corriger” les erreurs SSL : cela masque les risques d’attaque de l’homme du milieu ; corrigez plutôt la cause réelle. - IP de datacenter sur des cibles protégées : elles sont vite bloquées ; privilégiez des IP résidentielles pour les sites fortement protégés contre les bots et associez-les à des en-têtes réalistes (User-Agent).
Proxies rotatifs vs sticky avec Requests
Pour le scraping à grande échelle, une passerelle résidentielle avec rotation est idéale : chaque requête reçoit une nouvelle IP, ainsi, une simple boucle répartit le scraping sur le pool sans gestion d’IP. Pour les parcours avec état (connexion, puis appels suivants), utilisez une Session avec un proxy sticky afin de conserver la même IP et les mêmes cookies durant toute la séquence. La plupart des scripts requests n’ont pas d’état ; la rotation est donc le choix par défaut.
Quel type de proxy choisir pour Python Requests : résidentiel, datacenter ou mobile ?
- Résidentiel ($1/GB) : le choix par défaut pour les cibles protégées (e-commerce, SERP, réseaux sociaux). Si vous ne devez en choisir qu’un, optez pour celui-ci.
- Mobile ($2/GB) : de véritables IP d’opérateurs pour les cibles les plus difficiles et les sites web mobiles.
- Datacenter ($0.50/GB) : le moins cher et le plus rapide pour les tâches non protégées, les API et votre propre infrastructure ; ne l’utilisez pas sur des sites fortement protégés par des systèmes anti-bot.
DataImpulse propose les trois sur un seul compte avec paiement à l’utilisation, afin qu’un même script puisse acheminer chaque requête vers l’offre appropriée via le nom d’utilisateur et l’endpoint.
Comment démarrer avec DataImpulse + Python Requests
Étape 1. Créez un compte DataImpulse et récupérez vos identifiants résidentiels. L’offre de lancement à $5 / 5GB n’expire jamais : un véritable budget de test.
Étape 2. Construisez le dictionnaire proxies avec http://YOUR_LOGIN__cr.us:[email protected]:823, passez-le à requests.get(..., proxies=proxies, timeout=30), et ajoutez un code pays au nom d’utilisateur pour le ciblage géographique. Utilisez socks5h://...:824 après pip install "requests[socks]" pour SOCKS5.
Étape 3. Utilisez une Session pour effectuer de nombreux appels, une boucle pour assurer la rotation et des en-têtes réalistes. Consultez les tutoriels DataImpulse et la page des proxies résidentiels.
FAQ
Comment utiliser un proxy avec Python requests ?
Passez un dictionnaire proxies à votre appel : requests.get(url, proxies={"http": "http://user:pass@host:port", "https": "http://user:pass@host:port"}). Les identifiants présents dans l’URL sont utilisés automatiquement. Pour DataImpulse : http://YOUR_LOGIN__cr.us:[email protected]:823. Utilisez une Session pour réutiliser le proxy d’une requête à l’autre.
Python requests prend-il en charge les proxies SOCKS5 ?
Oui, après avoir installé l’extra : pip install "requests[socks]". Utilisez ensuite une URL socks5h://user:pass@host:port dans le dictionnaire proxies : SOCKS5 authentifié fonctionne. Utilisez toujours socks5h (avec le h) afin que le DNS soit résolu via le proxy ; socks5 seul résout localement et peut révéler votre localisation. DataImpulse expose SOCKS5 sur le port 824.
Quel est le meilleur proxy pour Python requests ?
Les proxies résidentiels sont recommandés pour les cibles protégées : DataImpulse à $1/GB est le choix le plus avantageux (HTTP/HTTPS/SOCKS5, plus de 90M d’IP, SOCKS5 authentifié, trafic sans expiration). Bright Data et Oxylabs sont des options pour les entreprises ; Webshare est le moins cher pour démarrer. Tous fonctionnent avec l’argument proxies= ; associez-les à des en-têtes réalistes et à un timeout.
Comment faire tourner les proxies dans Python requests ?
Le plus simple consiste à faire pointer le dictionnaire proxies vers une passerelle résidentielle avec rotation (DataImpulse) : chaque requête utilise automatiquement une nouvelle IP. Pour faire tourner une liste statique, conservez une liste d’URL de proxy et utilisez random.choice() pour en choisir une par requête, ou parcourez-les en boucle. Pour les parcours avec état, conservez plutôt un proxy sticky dans une Session plutôt que d’effectuer une rotation.
Pourquoi mon proxy requests renvoie-t-il “Missing dependencies for SOCKS support” ?
Vous avez utilisé une URL de proxy socks5 sans avoir installé l’extra SOCKS. Exécutez pip install "requests[socks]" (cela installe PySocks), puis l’URL socks5h:// fonctionne. Pour les proxies HTTP/HTTPS, aucune installation supplémentaire n’est nécessaire.
Combien coûtent les proxies pour Python requests ?
Le trafic résidentiel est facturé au GB : DataImpulse $1/GB (tarif d’entrée avantageux), NetNut à partir de $3.53, SOAX $3.60, Decodo $3.75, Oxylabs à partir de $6, IPRoyal $7.35 ; Webshare propose des abonnements économiques à partir de $3.50/mo. Une page téléchargée ne représente qu’une petite fraction de GB. Pour le scraping à gros volume, le résidentiel facturé au GB coûte donc bien moins cher que les API managées facturées par enregistrement ; les options managées conviennent aux cibles les plus difficiles.
