Configuration du proxy Selenium en Python et Java
Selenium peut diriger un navigateur à travers un proxy en quelques lignes — mais les proxies authentifiés nécessitent une extension ou un helper sortant, car Chrome ne prendra pas USER:PASS en ligne de commande. Voici le modèle fiable.
Le problème d'authentification dans Selenium
Setting an unauthenticated proxy in Selenium is trivial: add --proxy-server=http://host:3128 to Chrome options, or fill Selenium's Proxy object, and you are done. The moment the proxy needs a username and password, that simple path breaks — Chrome refuses credentials inline, and unlike Puppeteer or Playwright, Selenium has no built-in authenticate() hook to answer the 407 challenge.
La solution robuste et inter-langages est une petite extension Chrome générée à l'exécution qui transporte vos identifiants et répond à la demande d'authentification du proxy via l'API webRequest. Elle fonctionne en mode sans tête, n'a besoin d'aucun service supplémentaire, et se comporte de la même manière en Python et en Java. Avec s4m, vous pointez l'extension vers proxy.s4m.online:3128 (HTTP) et votre USER:PASS. Consultez la page du proxy et le guide d'authentification pour plus de détails ; pour une option sans authentification pendant les tests, la liste gratuite contient des proxies ouverts que vous pouvez directement insérer dans le drapeau de ligne de commande.
Proxy authentifié via une extension générée
Ce helper Python écrit une extension Chrome jetable contenant vos identifiants, puis la charge. Remplacez USER:PASS avant d'exécuter.
import os, zipfile, tempfile
from selenium import webdriver
HOST, PORT, USER, PASS = "proxy.s4m.online", 3128, "USER", "PASS"
manifest = '{"version":"1.0.0","manifest_version":2,"name":"s4m-proxy",'\
'"permissions":["proxy","webRequest","webRequestBlocking","<all_urls>"],'\
'"background":{"scripts":["bg.js"]}}'
bg = ('var c={mode:"fixed_servers",rules:{singleProxy:'
'{scheme:"http",host:"%s",port:%d}}};'
'chrome.proxy.settings.set({value:c,scope:"regular"},function(){});'
'chrome.webRequest.onAuthRequired.addListener('
'function(d){return {authCredentials:{username:"%s",password:"%s"}};},'
'{urls:["<all_urls>"]},["blocking"]);') % (HOST, PORT, USER, PASS)
path = os.path.join(tempfile.mkdtemp(), "s4m_proxy.zip")
with zipfile.ZipFile(path, "w") as z:
z.writestr("manifest.json", manifest)
z.writestr("bg.js", bg)
opts = webdriver.ChromeOptions()
opts.add_extension(path)
driver = webdriver.Chrome(options=opts)
driver.get("https://api.ipify.org")
print("Exit IP:", driver.find_element("tag name", "body").text)
driver.quit()
# ----- Java (unauthenticated proxy) -----
// Proxy p = new Proxy();
// p.setHttpProxy("proxy.s4m.online:3128");
// ChromeOptions o = new ChromeOptions();
// o.setProxy(p);
// WebDriver driver = new ChromeDriver(o);Choisir votre approche
Choisissez en fonction de si le proxy nécessite des identifiants.
Pas d'authentification ? Utilisez le drapeau
Pour un proxy non authentifié, ajoutez simplement --proxy-server=http://host:3128 à ChromeOptions, ou définissez l'objet Proxy de Selenium. Rien d'autre n'est nécessaire.
Auth ? Générer une extension
Pour les proxies USER:PASS, expédiez une petite extension d'exécution qui répond à onAuthRequired. Cela fonctionne sans interface graphique et se comporte de la même manière dans toutes les langues.
Point de terminaison HTTP pour les navigateurs
Utilisez proxy.s4m.online:3128 (HTTP). Un SOCKS5 authentifié dans un navigateur est peu fiable, donc gardez SOCKS5 pour les clients CLI et bibliothèque.
Gardez l'extension privée
L'extension générée intègre vos identifiants dans un fichier temporaire. Écrivez-le dans un répertoire temporaire privé et nettoyez-le après l'exécution.
Fiabilité et attentes honnêtes
Selenium pilote un vrai navigateur, ce qui est à la fois sa force et son coût : il est plus lourd qu'un client HTTP brut, donc gardez les sessions ciblées et fermez les pilotes rapidement. Si vous avez seulement besoin de HTML, un client HTTP derrière un proxy est beaucoup moins cher — voir le scraping avec des requêtes. Utilisez Selenium lorsque le rendu JavaScript ou une interaction utilisateur réelle est nécessaire.
Comme toujours, un proxy change votre IP, pas votre empreinte. Les proxies s4m sont de datacenter — idéaux pour les tests fonctionnels, la surveillance et le scraping modéré, mais détectables en tant que datacenter sur des sites hostiles. Lorsque une connexion ou une liste blanche attend une adresse stable, ajoutez une IP personnelle dédiée. Pour les nouveaux projets, envisagez Playwright, dont l'authentification proxy native évite complètement la danse des extensions. Vérifiez les sorties avec les outils et lisez la documentation de l'API pour automatiser la rotation des identifiants.
Questions, réponses
Pourquoi ne puis-je pas mettre USER:PASS dans le drapeau proxy de Selenium ?
Chrome ignore les identifiants dans le drapeau --proxy-server et affiche plutôt une invite d'authentification native à laquelle un navigateur sans tête ne peut pas répondre. La solution fiable est une petite extension Chrome à exécution qui répond à onAuthRequired avec votre nom d'utilisateur et votre mot de passe.
Y a-t-il un moyen plus simple pour des proxys non authentifiés ?
Oui. Sans identifiants, vous pouvez simplement ajouter --proxy-server=http://host:3128 aux ChromeOptions, ou remplir l'objet Proxy de Selenium en Java. L'extension n'est nécessaire que lorsque le proxy nécessite USER:PASS.
Devrais-je utiliser SOCKS5 ou HTTP avec Selenium ?
Utilisez le point de terminaison HTTP sur le port 3128 pour les navigateurs. SOCKS5 authentifié dans un navigateur est peu fiable ; gardez SOCKS5 pour les clients en ligne de commande et les bibliothèques.
Playwright serait-il plus facile ?
Souvent, oui. Le dramaturge prend les identifiants de proxy nativement dans son objet proxy, donc vous évitez complètement l'extension. Selenium est toujours le bon choix lorsque votre projet en dépend déjà.
Diriger les navigateurs à travers un proxy
Proxies de datacenter authentifiés sur proxy.s4m.online, prêts pour Selenium via une extension générée. Paiement à l'utilisation, avec une option d'IP dédiée pour des connexions stables.
Les gens ont trouvé cette page en recherchant
- configuration du proxy Selenium en Python et java
- qu'est-ce que proxy pour le scraping
- comment éviter les interdictions d'IP lors du scraping
- proxy pour le scraping
- proxychains : comment chaîner des proxies SOCKS5
- liste de proxies gratuits comparaison
- meilleurs protocoles VPN en 2026
- adresse IP pour le scraping
- authentification de proxy
- télécharger authentification de proxy
- frais configuration du proxy
- comment vérifier si un proxy est valide (avec un script prêt à l'emploi)
- configuration du proxy
- fonctionne liste de proxies gratuits
- openvpn pour windows
- adresse IP pour android
- adresse IP
Vraies phrases de recherche auxquelles cette page répond — les liens ouvrent la page qui les couvre en profondeur.