Integrationer · Mellemliggende niveau

Brug af proxy'er med Playwright: én udgang pr. browser eller pr. kontekst

Playwright tager proxyen ved lanceringen eller pr. Browserkontekst med legitimationsoplysninger, så hver kontekst kan være sin egen klæbrig session i sit eget land uden at genstarte browseren.

2 min læsning 5 sektioner Gennemgået Redaktionsteamet Proxy Cyber

Proxy på startniveau#

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()

Brug et særskilt sessions-id til hver uafhængig arbejdsgang, hvor den tildelte gateway understøtter det. Bekræft de tilladte varigheds- og placeringsparametre i dine forbindelsesoplysninger. En hjemmeenhed kan afbryde forbindelsen før den ønskede varighed; en fastlåst session er ikke en garanti for samme IP i dagevis. For en fast adresse skal du sammenligne med et dedikeret statisk produkt.

Proxyservere pr. kontekst#

Hvis du vil køre flere lande eller sessioner i én browser, skal du starte med en pladsholderproxy og give hver kontekst sin egen.Chromium har brug for proxy på opstartsniveau til per-kontekst-proxyer for at blive respekteret.

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"})

Match konteksten til exit#

Giv hver kontekst den lokale og tidszonen for dets land, så IP, sprog og ur stemmer overens: locale=\"de-DE\", timezone_id=\"Europe/Berlin\" Mismatch er et stærkere bot signal end IP'en selv, og det kan være svært at se.

Spar gigabyte: bloker det, du ikke har brug for#

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

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

En gengivet side kan veje 3 til 5 MB, dens HTML og API kalder nogle få hundrede kilobytes.På et per-GB netværk denne enkelt regel reducerer regningen med 80 til 90 %.

Bekræft og fejlfind#

  • Åbn en IP-echo service først og tjek landet; derefter se på en geolocation opslag for byen.
  • A net::ERR_TUNNEL_CONNECTION_FAILED eller ERR_PROXY_CONNECTION_FAILED ved opstart betyder legitimationsoplysninger eller en parameter er forkert; test den samme URL med cURL til at læse gateway-koden.
  • WebRTC er deaktiveret som standard i Playwright kontekster kun, hvis du blokerer det; tilføje --disable-webrtc Stil hærdning eller blok STUN når privatlivets fred er vigtigt.

Spørgsmål folk stiller#

Kan hver fane have en anden proxy?

Hver kontekst kan; faner (sider) i en kontekst deler sin proxy.Opret én kontekst pr session eller land.

Understøtter Playwright SOCKS5 proxy'er med godkendelse?

Chromium accepterer ikke SOCKS5-legitimationsoplysninger; brug HTTP-proxy på port 9000 med brugernavn og adgangskode, eller hvidlist din server IP og brug socks5://res.proxy-cyber.com:9001 uden legitimationsoplysninger.

Din konto er blevet oprettet

Administrer alle dine proxyer fra én konto

Sammenlign netværk, placer ordrer og følg din saldo og supportanmodninger fra ét dashboard Vores team gennemgår betalinger og giver forbindelsesoplysninger efter levering.

Opret konto