Playwright Java via CDP: ställ in en proxy på en ny webbläsarkontext
Anslut till en Chromium CDP-slutpunkt och skapa sedan en kontext med proxy; håll styranslutningen och den fjärrstyrda webbläsarens utgående väg åtskilda.
En fjärrwebbläsare har två nätverksvägar: Javas styranslutning till webbläsartjänsten och webbläsarens förfrågningar till webbplatser. Konfigurera den andra på den kontext du skapar.
För en Chromium-tjänst som exponerar en CDP-slutpunkt och tillåter nya kontexter:
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 är den aktuella slutpunkt som webbläsartjänsten tillhandahåller. Dess autentiseringstoken och protokoll är oberoende av kontot för vidarebefordrande proxy.
CDP-anslutningar fungerar bara med Chromium. En slutpunkt med Playwright-protokoll använder i stället connect; att ändra ett URL-suffix utan att kontrollera tjänstens protokoll är ingen tillförlitlig konvertering.
Proxyn måste vara nåbar från fjärrwebbläsarens värd. En loopback-lyssnare på Java-maskinen är inte automatiskt tillgänglig där. Inställningen för den nya kontexten konfigurerar inte heller om en redan befintlig standardkontext eller Javas WebSocket-anslutning.