Integrationer · Mellanliggande nivå

Använda proxyservern med Playwright: en utgång per webbläsare eller per sammanhang

Playwright tar proxy vid start eller per webbläsare sammanhang, med referenser, så att varje sammanhang kan vara sin egen klibbiga session i sitt eget land utan att starta om webbläsaren.

2 min lästid 5 sektioner Granskad Redaktionsteamet Proxy Cyber

Proxy på startnivå#

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

Använd en separat sessionsidentifierare för varje oberoende arbetsflöde, där den tilldelade gatewayen stöder det. Bekräfta tillåtna parametrar för varaktighet och plats i anslutningsinformationen. En bostadsenhet kan kopplas bort före begärd varaktighet; en fast session är inte en garanti för samma IP-adress under flera dagar. För en fast adress jämför med en dedikerad statisk produkt.

Proxyservrar per sammanhang#

För att köra flera länder eller sessioner i en webbläsare, starta med en platshållare proxy och ge varje sammanhang sin egen Chromium behöver startnivåproxyn för per-kontext proxies för att respekteras.

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

Matcha sammanhanget med utgången#

Ge varje kontext den lokala inställningen och tidszonen för landet så att IP, språk och klocka stämmer: locale=\"de-DE\", timezone_id=\"Europe/Berlin\" Missmatchningar är en starkare botsignal än själva IP-adressen, vilket gör att det inte går att identifiera den.

Spara gigabyte: blockera det du inte behöver#

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

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

En renderad sida kan väga 3 till 5 MB, dess HTML och API-anrop några hundra kilobyte.På ett per GB nätverk denna enda regel minskar räkningen med 80 till 90 %.

Verifiera och felsök#

  • Öppna en IP-echo service först och kontrollera landet; sedan titta på en geolocation lookup för staden.
  • A net::ERR_TUNNEL_CONNECTION_FAILED eller ERR_PROXY_CONNECTION_FAILED vid start innebär att referenser eller en parameter är fel. Testa samma URL med cURL för att läsa gateway-koden.
  • WebRTC är inaktiverad som standard i Playwright sammanhang endast om du blockerar den; lägg till --disable-webrtc stilhärdning eller blockera STUN när integritet är viktigt.

Frågor som folk ställer#

Kan varje flik ha en annan proxy?

Varje kontext kan; flikar (sidor) i en kontext dela sin proxy.Skapa ett sammanhang per session eller land.

Stöder Playwright SOCKS5-proxyservrar med autentisering?

Chromium accepterar inte SOCKS5-autentiseringsuppgifter; använd HTTP-proxyn på port 9000 med användarnamn och lösenord, eller vitlista din server IP och använd socks5://res.proxy-cyber.com:9001 utan autentiseringsinformation.

Ditt konto -

Hantera alla dina proxyer på ett konto

Jämför nätverk, placera beställningar och följ ditt saldo och supportbegäranden från en enda kontrollpanel.Vårt team granskar betalningar och ger anslutningsuppgifter efter leverans.

Skapa konto