У аддаленага браўзера два сеткавыя шляхі: кіроўнае злучэнне Java са службай браўзера і запыты браўзера да сайтаў. Другі наладаўвайце ў ствараным кантэксце.

Для службы Chromium, якая адкрывае канчатковую кропку CDP і дазваляе новыя кантэксты:

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 — гэта бягучая канчатковая кропка, якую прадстаўляе служба браўзера. Яе токен аўтэнтыфікацыі і пратакол не залежаць ад уліковага запісу прамога проксі.

Злучэнні CDP падтрымлівае толькі Chromium. Канчатковая кропка з пратаколам Playwright выкарыстоўвае замест гэтага connect; змена суфікса URL без праверкі пратаколу службы не з'яўляецца надзейным пераўтварэннем.

Проксі павінен быць даступны з хоста аддаленага браўзера. Слухач loopback на машыне з Java не даступны там аўтаматычна. Налада новага кантэксту таксама не пераналаджвае ўжо існуючы кантэкст па змаўчанні або WebSocket-злучэнне Java.

Падобныя артыкулы