مرورگر راه دور دو مسیر شبکه دارد: اتصال کنترلی 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 به‌طور خودکار آنجا در دسترس نیست. تنظیم زمینه جدید، زمینه پیش‌فرض موجود یا اتصال WebSocket جاوا را نیز بازتنظیم نمی‌کند.

مقالات مرتبط