Playwright Java CDP-ის მეშვეობით: პროქსის დაყენება ბრაუზერის ახალ კონტექსტში
დაუკავშირდით Chromium-ის CDP საბოლოო წერტილს, შემდეგ შექმენით პროქსით კონფიგურირებული კონტექსტი; გამოყავით საკონტროლო კავშირი და დისტანციური ბრაუზერის გამავალი მარშრუტი.
დისტანციურ ბრაუზერს ქსელის ორი გზა აქვს: 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-ის სუფიქსის შეცვლა სერვისის პროტოკოლის შემოწმების გარეშე საიმედო გარდაქმნა არ არის.
პროქსი უნდა იყოს მისაწვდომი დისტანციური ბრაუზერის ჰოსტიდან. Java-ს მანქანაზე მდებარე loopback მსმენელი იქ ავტომატურად არ არის ხელმისაწვდომი. ახალი კონტექსტის პარამეტრი ასევე არ გადააკონფიგურირებს უკვე არსებულ ნაგულისხმევ კონტექსტს ან Java-ს WebSocket კავშირს.