Playwright Java qua CDP: đặt proxy trên ngữ cảnh trình duyệt mới
Kết nối tới điểm cuối CDP của Chromium, rồi tạo ngữ cảnh có proxy; giữ riêng kết nối điều khiển và tuyến ra của trình duyệt từ xa.
Trình duyệt từ xa có hai đường mạng: kết nối điều khiển của Java tới dịch vụ trình duyệt, và các yêu cầu của trình duyệt tới trang web. Cấu hình đường thứ hai trên ngữ cảnh bạn tạo.
Với dịch vụ Chromium công bố điểm cuối CDP và cho phép tạo ngữ cảnh mới:
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 là điểm cuối hiện tại do dịch vụ trình duyệt cung cấp. Mã thông báo xác thực và giao thức của nó độc lập với tài khoản proxy chuyển tiếp.
Kết nối CDP chỉ chạy với Chromium. Điểm cuối theo giao thức Playwright dùng connect thay thế; đổi hậu tố URL mà không kiểm tra giao thức của dịch vụ không phải là chuyển đổi đáng tin cậy.
Proxy phải truy cập được từ máy chủ của trình duyệt từ xa. Bộ lắng nghe loopback trên máy Java không tự động có sẵn ở đó. Cấu hình của ngữ cảnh mới cũng không cấu hình lại ngữ cảnh mặc định đã tồn tại hay kết nối WebSocket của Java.