Playwright Java over CDP: sett en proxy på en ny nettleserkontekst
Koble til et Chromium CDP-endepunkt og opprett deretter en kontekst med proxy; hold kontrollforbindelsen og den eksterne nettleserens utgående rute atskilt.
En ekstern nettleser har to nettverksveier: Javas kontrollforbindelse til nettlesertjenesten og nettleserens forespørsler til nettsteder. Konfigurer den andre på konteksten du oppretter.
For en Chromium-tjeneste som eksponerer et CDP-endepunkt og tillater nye kontekster:
import com.microsoft.playwright.*;
import com.microsoft.playwright.options.Proxy;
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.chromium().connectOverCDP(cdpEndpoint);
try {
var options = new Browser.NewContextOptions().setProxy(
new Proxy("http://proxy.example:8080")
.setUsername(proxyUser)
.setPassword(proxyPassword));
try (BrowserContext context = browser.newContext(options)) {
context.newPage().navigate("https://www.example.org/");
}
} finally {
browser.close();
}
}
cdpEndpoint er det gjeldende endepunktet som nettlesertjenesten tilbyr. Autentiseringstokenet og protokollen er uavhengige av kontoen for videresendingsproxyen.
CDP-forbindelser fungerer bare med Chromium. Et endepunkt med Playwright-protokoll bruker connect i stedet. Å endre et URL-suffiks uten å sjekke protokollen til tjenesten er ikke en pålitelig konvertering.
Proxyen må være tilgjengelig fra den eksterne nettleserens vert. En loopback-lytter på Java-maskinen er ikke automatisk tilgjengelig der. Innstillingen for den nye konteksten omkonfigurerer heller ikke en allerede eksisterende standardkontekst eller Javas WebSocket-forbindelse.