Playwright Java праз CDP: наладзіць проксі ў новым кантэксце браўзера
Падключыцеся да канчатковай кропкі CDP у Chromium, затым стварыце кантэкст з наладжаным проксі; трымайце кіроўнае злучэнне і знешні маршрут аддаленага браўзера асобна.
У аддаленага браўзера два сеткавыя шляхі: кіроўнае злучэнне 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.