Un browser la distanță are două căi de rețea: conexiunea de control a Java la serviciul browserului și cererile browserului către site-uri. Configurați-o pe a doua pe contextul pe care îl creați.

Pentru un serviciu Chromium care expune un endpoint CDP și permite contexte noi:

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 este endpointul curent furnizat de serviciul browserului. Tokenul de autentificare și protocolul său sunt independente de contul proxy-ului de forwardare.

Conexiunile CDP funcționează doar cu Chromium. Un endpoint cu protocol Playwright folosește în schimb connect; modificarea unui sufix de URL fără verificarea protocolului serviciului nu este o conversie fiabilă.

Proxy-ul trebuie să fie accesibil de pe gazda browserului la distanță. Un ascultător loopback pe mașina Java nu este disponibil acolo automat. Setarea noului context nu reconfigurează nici un context implicit deja existent, nici conexiunea WebSocket a Java.

Articole similare