En bref : Passez proxy avec server, username et password à chromium.launch, ou à browser.new_context pour le limiter à un contexte. En HTTP, les trois moteurs s’authentifient avec ces champs. En SOCKS5, aucun n’accepte d’identifiant ni de mot de passe : Playwright refuse de se lancer. Ajoutez votre IP à la liste blanche du proxy et ne donnez que le serveur socks5://.
Playwright pilote Chromium, Firefox et WebKit par une seule API, et le proxy fait partie de la façon dont un navigateur ou un contexte est créé. Il est donc facile de faire tourner plusieurs adresses dans un même script, et c’est aussi là que se trouve sa seule limite stricte : SOCKS5 avec mot de passe.
Proxy Playwright en Python
L’exemple Python lance Chromium avec le proxy pour tout le navigateur ; l’exemple par contexte le limite à un seul contexte. Changer de moteur revient à remplacer chromium par firefox ou webkit ; l’objet proxy reste le même.
Authentification de proxy dans Playwright
Les trois moteurs répondent au 407 du proxy avec l’identifiant et le mot de passe de l’objet proxy quand le proxy parle HTTP. Un proxy SOCKS5 ne reçoit cette réponse d’aucun d’eux, c’est pourquoi l’exemple SOCKS5 ne contient aucun identifiant et repose sur la liste blanche.
Proxy Playwright par page, et bypass
Un proxy ne peut pas être attaché à une seule page. L’unité est le contexte : créez un contexte par adresse et ouvrez-y les pages qui doivent partager cette adresse. Les contextes coûtent peu dans Playwright, si bien qu’un script qui vérifie une boutique depuis trois pays tient trois contextes, chacun construit à partir de sa propre commande.
L’objet proxy accepte aussi un champ bypass, une liste d’hôtes séparés par des virgules à joindre directement. Utilisez-le pour vos propres services internes ou un serveur de test local, afin que seul le trafic destiné au monde extérieur sorte par l’adresse que vous payez.