Integraties · Gemiddeld

Gebruik van proxies met Playwright: een uitgang per browser of per context

Playwright neemt de proxy bij het starten of per browser context, met referenties, zodat elke context kan zijn eigen kleverige sessie in zijn eigen land zonder het herstarten van de browser.

2 minuten lezen 5 secties Gecontroleerd Redactie Proxy Cyber

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

Gebruik een aparte sessie-identificatie voor elke onafhankelijke workflow, waar de toegewezen gateway het ondersteunt. Bevestig de toegestane duur en locatieparameters in uw verbindingsdetails. Een residentieel apparaat kan voor de gewenste duur worden verbroken; een plakkerige sessie is geen garantie van hetzelfde IP voor dagen. Voor een vast adres, vergelijk een specifiek statisch product.

Proxy's per context#

Om meerdere landen of sessies in één browser uit te voeren, start u met een placeholderproxy en geeft u elke context zijn eigen. Chroom heeft de start-niveau proxy nodig voor per-context proxy's om te worden geëerd.

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

Zorg ervoor dat de context overeenkomt met de uitgang#

Geef elke context de locale en tijdzone van het land, zodat IP, taal en klok het eens zijn: locale=\"de-DE\", timezone_id=\"Europe/Berlin\" Voor de Berlijnse context. Mismatches zijn een sterker botsignaal dan het IP zelf.

Gigabytes opslaan: blokkeren wat je niet nodig hebt#

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

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

Een weergegeven pagina kan 3 tot 5 MB wegen; zijn HTML en API roept een paar honderd kilobytes op. Op een per-GB netwerk wordt de rekening door deze enkele regel met 80 tot 90 % verlaagd.

Verifieer en los problemen op#

  • Open eerst een IP-echo service en controleer het land; kijk dan naar een geolocatie opzoeking voor de stad.
  • A net::ERR_TUNNEL_CONNECTION_FAILED of ERR_PROXY_CONNECTION_FAILED bij lancering betekent dat criminaliteiten of een parameter fout zijn; test dezelfde URL met cURL om de gateway code te lezen.
  • WebRTC is standaard uitgeschakeld in Playwright contexten alleen als u het blokkeert; toevoegen --disable-webrtc stijl verharden of blokkeren STUN wanneer privacy belangrijk is.

Vragen die mensen stellen#

Kan elk tabblad een andere proxy hebben?

Elke context kan; tabs (pagina's) binnen een context delen zijn proxy. Maak één context per sessie of land aan.

Ondersteunt Playwright SOCKS5 proxies met authenticatie?

Chroom accepteert geen SOCKS5-gegevens; gebruik de HTTP-proxy op poort 9000 met gebruikersnaam en wachtwoord, of whitelist uw server IP en gebruik sokken5://res.proxy-cyber.com:9001 zonder referenties.

Uw rekening

Beheer uw proxy's in één account

Vergelijk netwerken, plaats bestellingen en volg uw saldo en ondersteuningsverzoeken vanaf één dashboard. Ons team beoordeelt betalingen en verstrekt verbindingsgegevens na levering.

Account aanmaken