Intégrations · Intermédiaire

Utiliser des proxys avec Playwright : une sortie par navigateur ou par contexte

Playwright prend le proxy au lancement ou par contexte de navigateur, avec des informations d'identification, de sorte que chaque contexte peut être sa propre session persistante dans son propre pays sans redémarrer le navigateur.

2 minutes de lecture 5 volets Vérifié Équipe éditoriale Proxy Cyber

Proxy au niveau du lancement#

Python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://res.proxy-cyber.com:9000",
        "username": "USER-cc-us-sid-run1-ttl-30m",
        "password": "PASS",
    })
    page = browser.new_page()
    page.goto("https://api.ipify.org")
    print(page.inner_text("body"))
    browser.close()

Utilisez un identifiant de session distinct pour chaque flux de travail indépendant, lorsque la passerelle attribuée le prend en charge. Confirmez la durée autorisée et les paramètres de localisation dans les détails de votre connexion. Un appareil résidentiel peut se déconnecter avant la durée demandée ; une session persistante n'est pas une garantie de la même IP pendant des jours. Pour une adresse fixe, comparez un produit statique dédié.

Proxy par contexte#

Pour exécuter plusieurs pays ou sessions dans un seul navigateur, lancez-le avec un proxy fictif et attribuez le sien à chaque contexte. Chromium a besoin du proxy de niveau de lancement pour que les proxys par contexte soient honorés.

Python
browser = p.chromium.launch(proxy={"server": "http://per-context"})

de = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-de-city-berlin-sid-de1-ttl-30m", "password": "PASS"})
us = browser.new_context(proxy={"server": "http://res.proxy-cyber.com:9000", "username": "USER-cc-us-state-tx-sid-us1-ttl-30m", "password": "PASS"})

Faites correspondre le contexte à la sortie#

Donnez à chaque contexte les paramètres régionaux et le fuseau horaire de son pays, afin que l'adresse IP, la langue et l'horloge concordent : locale=\"de-DE\", timezone_id=\"Europe/Berlin\" pour le contexte berlinois. Les discordances sont un signal de bot plus fort que l’adresse IP elle-même.

Économisez des gigaoctets : bloquez ce dont vous n'avez pas besoin#

Python
def block(route):
    if route.request.resource_type in {"image", "media", "font", "stylesheet"}:
        return route.abort()
    return route.continue_()

page.route("**/*", block)

Une page rendue peut peser de 3 à 5 Mo ; son HTML et son API appellent quelques centaines de kilo-octets. Sur un réseau au Go, cette seule règle réduit la facture de 80 à 90 %.

Vérifier et dépanner#

  • Ouvrez d'abord un service d'écho IP et vérifiez le pays ; puis regardez une recherche de géolocalisation de la ville.
  • A net::ERR_TUNNEL_CONNECTION_FAILED ou ERR_PROXY_CONNECTION_FAILED au lancement, cela signifie que les informations d'identification ou un paramètre sont erronés ; testez la même URL avec cURL pour lire le code de la passerelle.
  • WebRTC est désactivé par défaut dans les contextes Playwright uniquement si vous le bloquez ; ajouter --disable-webrtc durcissement du style ou blocage du STUN lorsque la confidentialité est importante.

Les questions que les gens posent#

Chaque onglet peut-il avoir un proxy différent ?

Chaque contexte peut : les onglets (pages) à l'intérieur d'un contexte partagent son proxy. Créez un contexte par session ou par pays.

Playwright prend-il en charge les proxys SOCKS5 avec authentification ?

Chromium n'accepte pas les informations d'identification SOCKS5 ; utilisez le proxy HTTP sur le port 9000 avec le nom d'utilisateur et le mot de passe, ou ajoutez l'adresse IP de votre serveur à la liste blanche et utilisez chaussettes5://res.proxy-cyber.com:9001 sans informations d'identification.

Votre compte

Gérez vos proxys dans un seul compte

Comparez les réseaux, passez des commandes et suivez votre solde et vos demandes d'assistance à partir d'un seul tableau de bord. Notre équipe examine les paiements et fournit les détails de connexion après la livraison.

Créer un compte