У віддаленого браузера два мережеві шляхи: керуюче з'єднання 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 без перевірки протоколу служби не є надійним перетворенням.

Проксі має бути доступним із хоста віддаленого браузера. Loopback-слухач на машині з Java недоступний там автоматично. Налаштування нового контексту також не переналаштовує вже наявний контекст за замовчуванням або WebSocket-з'єднання Java.

Схожі статті