দূরবর্তী ব্রাউজারের দুটি নেটওয়ার্ক পথ থাকে: ব্রাউজার সেবার সাথে 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 মেশিনে লুপব্যাক লিসেনার সেখানে স্বয়ংক্রিয়ভাবে পাওয়া যায় না। নতুন কনটেক্সটের সেটিং আগে থেকেই থাকা ডিফল্ট কনটেক্সট বা Java-র WebSocket সংযোগও পুনরায় কনফিগার করে না।

সম্পর্কিত নিবন্ধ