Playwright Java lewat CDP: menyetel proxy pada konteks browser baru
Hubungkan ke endpoint CDP Chromium, lalu buat konteks berproxy; jaga koneksi kontrol dan rute keluar browser jarak jauh tetap terpisah.
Browser jarak jauh punya dua jalur jaringan: koneksi kontrol Java ke layanan browser, dan permintaan browser ke situs web. Konfigurasikan yang kedua pada konteks yang Anda buat.
Untuk layanan Chromium yang mengekspos endpoint CDP dan mengizinkan konteks baru:
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 adalah endpoint saat ini yang disediakan layanan browser. Token autentikasi dan protokolnya tidak bergantung pada akun proxy penerusan.
Koneksi CDP hanya berjalan dengan Chromium. Endpoint berprotokol Playwright memakai connect sebagai gantinya; mengubah sufiks URL tanpa memeriksa protokol layanan bukan konversi yang andal.
Proxy harus dapat dijangkau dari host browser jarak jauh. Pendengar loopback di mesin Java tidak tersedia di sana secara otomatis. Setelan konteks baru juga tidak mengonfigurasi ulang konteks bawaan yang sudah ada maupun koneksi WebSocket Java.