Comment corriger l'erreur 407 Proxy Authentication Required
Mis à jour:
Une erreur 407 est une meilleure nouvelle qu'il n'y paraît : votre appareil a bien joint le proxy et la route réseau est ouverte. Le proxy indique simplement qu'il n'a pas reçu d'identifiant et de mot de passe valides. C'est pourquoi presque toutes les erreurs 407 se résolvent au niveau des identifiants, et non dans votre routeur ou pare-feu.
Causes d'une erreur 407, de la plus probable à la moins fréquente
- Identifiant ou mot de passe incorrect ou manquant. Une faute de frappe ou un espace superflu copié avec le mot de passe. Cela explique la majorité des erreurs 407.
- Champs collés au mauvais endroit. La ligne complète
ip:port:user:passse retrouve dans le champ Hôte, ou l'identifiant atterrit dans le champ du mot de passe. Certains outils séparent automatiquement les quatre champs, d'autres non. - L'application n'envoie jamais les identifiants. La configuration proxy du système d'exploitation ne stocke que l'adresse et le port. Les applications incapables de demander un mot de passe se connectent sans en-tête d'authentification et reçoivent une erreur 407 en retour.
- Caractères spéciaux dans l'URL du proxy. Sous la forme
http://user:pass@host:port, les caractères tels que@,:ou#dans le mot de passe doivent être encodés en URL (@devient%40), sinon la chaîne est scindée au mauvais endroit.
À quoi ressemble concrètement une erreur 407
Nous avons reproduit l'erreur sur un proxy de test, illustré ici avec l'adresse de documentation 203.0.113.10:8080 et des identifiants délibérément erronés user123:pass456. Sur un site HTTPS, curl -x http://user123:[email protected]:8080 https://example.com affiche curl: (56) CONNECT tunnel failed, response 407. Sur un site HTTP standard avec -w %{http_code}, curl affiche simplement 407.
Ajoutez -v pour vérifier si les identifiants ont bien été transmis. La trace indique > CONNECT example.com:443 HTTP/1.1, puis > Proxy-Authorization: Basic ..., et seulement après l'erreur 407. Si la ligne Proxy-Authorization est absente, votre client n'a jamais envoyé les identifiants.
Le testeur de proxy de VinaProxy signale le même cas avec auth failed (407). Chrome en mode headless, dépourvu de boîte de dialogue de connexion, renvoie quant à lui ERR_TUNNEL_CONNECTION_FAILED ; consultez la page sur l'erreur de tunnel.
Solutions par environnement
- Windows et Chrome : Chrome utilise la configuration proxy de Windows (Paramètres > Réseau et Internet > Proxy), qui ne conserve que l'adresse et le port. Au premier chargement de page, Chrome ouvre une boîte de dialogue de connexion pour l'identifiant et le mot de passe du proxy. Si vous avez fait une erreur de saisie et que la boîte de dialogue ne réapparaît pas, fermez toutes les fenêtres de Chrome puis rouvrez-les.
- Navigateurs antidétection (AdsPower, GoLogin, GenLogin) : séparez Hôte, Port, Identifiant et Mot de passe dans des champs distincts. Videz entièrement le champ du mot de passe et recollez-le plutôt que de le modifier. Une aide champ par champ est disponible dans le guide de configuration GoLogin.
- Smartphones : l'iPhone dispose d'une option Authentification sous Réglages > Wi-Fi > (i) > Configurer le proxy ; la désactiver entraîne une erreur 407. Android n'accepte généralement que l'hôte et le port, de sorte que les applications nécessitant une authentification peuvent afficher une erreur de connexion générique à la place.
- curl : passez
-U "user:pass"séparément au lieu de l'intégrer dans l'URL, ce qui évite les problèmes liés aux caractères spéciaux. - Python requests : définissez
http://user:pass@host:portpour les cléshttpethttpsdu dictionnaireproxies, et encodez les mots de passe contenant des caractères spéciaux avecurllib.parse.quote.
Les identifiants sont corrects mais l'erreur 407 persiste
Vérifiez ensuite les protocoles. VinaProxy propose des proxys HTTP(S) avec authentification user:pass ainsi que du SOCKS5 : sélectionnez le protocole indiqué sur votre commande dans le tableau de bord. Si le testeur renvoie not socks5, c'est que ce port utilise HTTP et ne doit pas être configuré en SOCKS5.
Étape par étape
- 1
Copier la ligne du proxy depuis le tableau de bord
Ouvrez la commande dans votre tableau de bord VinaProxy et copiez la ligne complète plutôt que de la saisir à la main.
- 2
Tester la ligne dans le testeur de proxy
Collez-la dans le testeur de proxy. Un résultat
auth failed (407)confirme un problème d'identifiants plutôt qu'un problème de réseau. - 3
Ressaisir proprement l'identifiant et le mot de passe
Videz les deux champs dans votre logiciel et recollez-les sans aucun espace au début ou à la fin.
- 4
Aligner le protocole sur la commande
Définissez le type de proxy sur HTTP ou SOCKS5 exactement comme indiqué sur la commande, puis enregistrez.
- 5
Tracer avec curl -v si le problème persiste
Exécutez
curl -vavec vos vraies valeurs et vérifiez la présence d'une ligneProxy-Authorizationavant l'erreur 407.
Questions fréquentes
L'erreur 407 peut-elle être due au blocage du proxy par mon FAI ?
Non. L'erreur 407 est renvoyée par le proxy lui-même, ce qui signifie que la connexion a bien abouti. Un chemin bloqué se manifeste plutôt par un délai d'attente dépassé (timeout) ou une connexion refusée ; consultez délai d'attente du proxy.
Pourquoi Chrome me redemande-t-il sans cesse les identifiants du proxy ?
Chaque saisie incorrecte génère une nouvelle erreur 407 et Chrome redemande les identifiants. Vérifiez la touche Verr. Maj et assurez-vous qu'une méthode de saisie vietnamienne ou autre n'ajoute pas d'accents au mot de passe.
Comment intégrer un mot de passe contenant un @ dans une URL de proxy ?
Encodez-le : @ devient %40, : devient %3A, # devient %23. Avec curl, l'option -U évite tout encodage.
Selenium ou Puppeteer affiche une erreur de tunnel au lieu d'une 407. Est-ce le même problème ?
En règle générale, oui. Chrome en mode headless ne peut pas afficher de boîte de dialogue de connexion, de sorte que l'erreur 407 apparaît sous la forme ERR_TUNNEL_CONNECTION_FAILED. Renseignez les identifiants via le mécanisme d'authentification de la bibliothèque, comme décrit dans le guide Selenium.
Proxys dédiés avec identifiants explicites
Chaque commande VinaProxy vous fournit une ligne ip:port:user:pass prête à l'emploi, à copier une seule fois et à coller où vous voulez.
Voir les tarifs des proxys