Un navegador remoto ten dúas rutas de rede: a conexión de control de Java co servizo do navegador e as peticións do navegador aos sitios web. Configura a segunda no contexto que creas.

Para un servizo Chromium que expón un endpoint CDP e permite contextos novos:

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 é o endpoint actual que fornece o servizo do navegador. O seu token de autenticación e o seu protocolo son independentes da conta do proxy de reenvío.

As conexións CDP só funcionan con Chromium. Un endpoint con protocolo Playwright usa connect no seu lugar; cambiar un sufixo de URL sen comprobar o protocolo do servizo non é unha conversión fiable.

O proxy debe ser accesible desde o host do navegador remoto. Un escoitador de loopback na máquina Java non está dispoñible alí de forma automática. A configuración do contexto novo tampouco reconfigura un contexto predeterminado xa existente nin a conexión WebSocket de Java.

Artigos relacionados