Een externe browser heeft twee netwerkpaden: de besturingsverbinding van Java naar de browserservice en de verzoeken van de browser aan websites. Configureer het tweede op de context die je maakt.

Voor een Chromium-service die een CDP-eindpunt aanbiedt en nieuwe contexten toestaat:

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 is het huidige eindpunt dat de browserservice levert. Het authenticatietoken en het protocol ervan zijn onafhankelijk van het account van de doorstuurproxy.

CDP-verbindingen werken alleen met Chromium. Een eindpunt met Playwright-protocol gebruikt in plaats daarvan connect; een URL-achtervoegsel wijzigen zonder het protocol van de service te controleren is geen betrouwbare conversie.

De proxy moet bereikbaar zijn vanaf de host van de externe browser. Een loopback-listener op de Java-machine is daar niet automatisch beschikbaar. De instelling van de nieuwe context herconfigureert ook geen bestaande standaardcontext of de WebSocket-verbinding van Java.

Gerelateerde artikelen