Um navegador remoto tem dois caminhos de rede: a ligação de controlo do Java ao serviço do navegador e os pedidos do navegador aos sites. Configure o segundo no contexto que cria.

Para um serviço Chromium que expõe um endpoint CDP e permite novos contextos:

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 atual fornecido pelo serviço do navegador. O respetivo token de autenticação e protocolo são independentes da conta do proxy de encaminhamento.

As ligações CDP funcionam apenas com Chromium. Um endpoint com protocolo Playwright usa connect em vez disso; alterar um sufixo de URL sem verificar o protocolo do serviço não é uma conversão fiável.

O proxy tem de ser alcançável a partir do anfitrião do navegador remoto. Um ouvinte de loopback na máquina Java não está disponível ali automaticamente. A definição do novo contexto também não reconfigura um contexto predefinido já existente nem a ligação WebSocket do Java.

Artigos relacionados