CDP арқылы Playwright Java: жаңа браузер контекстінде прокси орнату
Chromium CDP соңғы нүктесіне қосылып, проксиі бар контекст жасаңыз; басқару қосылымы мен қашықтағы браузердің шығыс маршрутын бөлек ұстаңыз.
Қашықтағы браузердің екі желілік жолы бар: Java-ның браузер қызметіне басқару қосылымы және браузердің сайттарға сұраныстары. Екіншісін жасап отырған контексте орнатыңыз.
CDP соңғы нүктесін ұсынатын және жаңа контекстерге рұқсат беретін Chromium қызметі үшін:
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 жұрнағын өзгерту сенімді түрлендіру емес.
Прокси қашықтағы браузер хостынан қолжетімді болуы керек. Java машинасындағы loopback тыңдаушысы онда автоматты түрде қолжетімді емес. Жаңа контекст параметрі бұрыннан бар әдепкі контексті немесе Java-ның WebSocket қосылымын да қайта конфигурацияламайды.