Playwright Java sobre CDP: configurar un proxy nun contexto de navegador novo
Conéctate a un endpoint CDP de Chromium e crea un contexto con proxy; mantén separadas a conexión de control e a ruta de saída do navegador remoto.
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.