In breve: Passa proxy con server, username e password a chromium.launch, oppure a browser.new_context per limitarlo a un contesto. In HTTP, tutti e tre i motori si autenticano con quei campi. In SOCKS5 nessuno di essi accetta nome utente e password: Playwright si rifiuta di avviarsi. Metti il tuo IP nella whitelist del proxy e indica solo il server socks5://.
Playwright pilota Chromium, Firefox e WebKit con un’unica API, e il proxy fa parte del modo in cui si crea un browser o un contesto. Questo rende facile usare più indirizzi in un solo script, ed è anche il punto in cui si trova il suo unico limite rigido: SOCKS5 con password.
Proxy in Playwright con Python
L’esempio Python avvia Chromium con il proxy per l’intero browser; l’esempio per contesto lo limita invece a un solo contesto. Per cambiare motore basta sostituire chromium con firefox o webkit; l’oggetto proxy resta lo stesso.
Autenticazione del proxy in Playwright
I tre motori rispondono al 407 del proxy con nome utente e password presi dall’oggetto proxy quando il proxy parla HTTP. Un proxy SOCKS5 non riceve questa risposta da nessuno di essi, ed è per questo che l’esempio SOCKS5 non contiene credenziali e si basa sulla whitelist.
Proxy per pagina in Playwright, e bypass
Non si può associare un proxy a una singola pagina. L’unità è il contesto: crea un contesto per indirizzo e apri al suo interno le pagine che devono condividere quell’indirizzo. In Playwright i contesti costano poco, quindi uno script che controlla un negozio online da tre paesi tiene aperti tre contesti, ciascuno creato dal suo ordine.
L’oggetto proxy accetta anche un campo bypass, un elenco di host separati da virgole da raggiungere direttamente. Usalo per i tuoi servizi interni o per un server di test locale, così che esca tramite l’indirizzo che paghi solo il traffico destinato al mondo esterno.