En fjern browser har to netværksveje: Javas kontrolforbindelse til browsertjenesten og browserens anmodninger til websteder. Konfigurer den anden på den kontekst, du opretter.

Til en Chromium-tjeneste, der eksponerer et CDP-endpoint og tillader 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 aktuelle endpoint, som browsertjenesten stiller til rådighed. Dets autentificeringstoken og protokol er uafhængige af forward-proxykontoen.

CDP-forbindelser virker kun med Chromium. Et endpoint med Playwright-protokol bruger i stedet connect; at ændre et URL-suffiks uden at kontrollere tjenestens protokol er ikke en pålidelig konvertering.

Proxyen skal kunne nås fra den eksterne browsers vært. En loopback-lytter på Java-maskinen er ikke automatisk tilgængelig der. Indstillingen for den nye kontekst omkonfigurerer heller ikke en allerede eksisterende standardkontekst eller Javas WebSocket-forbindelse.

Relaterede artikler