Playwright Java דרך CDP: הגדרת פרוקסי בהקשר דפדפן חדש
התחברו לנקודת קצה של CDP ב-Chromium, ואז צרו הקשר עם פרוקסי; שמרו על הפרדה בין חיבור הבקרה לבין נתיב היציאה של הדפדפן המרוחק.
לדפדפן מרוחק יש שני נתיבי רשת: חיבור הבקרה של 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.