Integrari · Intermediare

Folosind proxy-uri cu Playwright: o singură ieșire pe browser sau per context

Dramaturgul ia proxy-ul la lansare sau pe context de browser, cu acreditări, astfel încât fiecare context poate fi propria sesiune lipicioasă în propria sa țară fără repornirea browser-ului.

2 min citește 5 secţiuni Revizuit Echipa editorială Proxy Cyber

Procură la nivel de lansare#

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

Utilizaţi un identificator de sesiune distinct pentru fiecare flux de lucru independent, în cazul în care poarta atribuită o sprijină. Confirmaţi durata permisă şi parametrii de localizare în detaliile de conectare. Un dispozitiv rezidenţial se poate deconecta înainte de durata solicitată; o sesiune lipicioasă nu este o garanţie a aceluiaşi IP pentru zile. Pentru o adresă fixă, comparaţi un produs static dedicat.

Proxime per-context#

Pentru a rula mai multe țări sau sesiuni într-un browser, lansați cu un proxy titular și da fiecare context propriu. Crom are nevoie de proxy la nivel de lansare pentru proxy per-context pentru a fi onorat.

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

Se potrivește contextului cu ieșirea#

Oferă fiecare context local și fusul orar al țării sale, astfel încât IP, limba și ceasul sunt de acord: locale=\"de-DE\", timezone_id=\"Europe/Berlin\" pentru contextul Berlinului. Mismatches sunt un semnal bot mai puternic decât IP-ul în sine.

Salvează gigabytes: blochează ceea ce nu ai nevoie#

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

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

O pagină redată poate cântări între 3 și 5 MB; HTML-ul și API-ul său numesc câteva sute de kilobytes. Pe o rețea per-GB această regulă unică reduce proiectul de lege cu 80 la 90 %.

Verificați și depanare#

  • Deschideţi mai întâi un serviciu IP-echo şi verificaţi ţara; apoi uitaţi-vă la o căutare geolocaţie pentru oraş.
  • A net::ERR_TUNNEL_CONNECTION_FAILED sau ERR_PROXY_CONNECTION_FAILED la lansare înseamnă că acreditările sau un parametru sunt greșite; testați același URL cu cURL pentru a citi codul de poartă.
  • WebRTC este dezactivat în mod implicit în contexte Playwright numai dacă îl blochezi; adăugați --disable-webrtc Stil întărirea sau blocarea STUN atunci când contează intimitatea.

Întrebări pe care oamenii le pun#

Fiecare filă poate avea un proxy diferit?

Fiecare context poate; tab-uri (pagini) într-un context împărtășesc proxy-ul său. Creați un context pe sesiune sau țară.

Suportă Playwright SOCKS5 proxies cu autentificare?

Cromul nu acceptă acreditările SOCKS5; utilizați proxy HTTP pe portul 9000 cu numele de utilizator și parola, sau alb listați serverul IP și utilizați șosete5://res.proxy-cyber.com:9001 fără acreditări.

Contul dumneavoastră

Administrează toate proxy-urile într-un singur cont

Comparați rețelele, plasați comenzile și urmați cererile de echilibru și suport de la un tablou de bord. Echipa noastră evaluează plățile și oferă detalii de conexiune după livrare.

Creează cont