לדפדפן מרוחק יש שני נתיבי רשת: חיבור הבקרה של 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.

מאמרים קשורים