दूरस्थ ब्राउज़र के दो नेटवर्क रास्ते होते हैं: ब्राउज़र सेवा से 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 मशीन पर loopback श्रोता वहाँ अपने आप उपलब्ध नहीं होता। नए कॉन्टेक्स्ट की सेटिंग पहले से मौजूद डिफ़ॉल्ट कॉन्टेक्स्ट या Java के WebSocket कनेक्शन को भी फिर से कॉन्फ़िगर नहीं करती।

संबंधित लेख