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.

Bài viết liên quan