job A → WebClient A → proxy A → destination
job B → WebClient B → proxy B → destination

Tetapkan HtmlUnit WebClient yang dikonfigurasi untuk setiap identitas penjelajahan bersamaan. WebClientOptions-nya memiliki ProxyConfig; anggap rute tetap selama tugas berjalan. Antrean tugas bersama tidak menuntut satu browser yang dapat diubah dan dibagi. Untuk pemeriksaan halaman publik yang diizinkan dengan HTTP ProxyConfig, pilih titik akhir kandidat dari daftar proxy HTTP sebelum menetapkannya ke pekerja.

Simpan halaman, pemuatan berikutnya, dan status sesi pada klien itu. Mengubah opsi proxy tidak dapat memindahkan koneksi yang sudah terbentuk. Klien terpisah juga membuat status browser terpisah, jadi rencanakan setiap login bersama yang dimaksudkan alih-alih menganggap perutean saja menentukan identitas. Autentikasi proxy memakai antarmuka versi HtmlUnit yang terpasang dan tetap terpisah dari login situs web.

Tetapkan penyelesaian sebelum mengembalikan browser ke kumpulan. Respons tingkat atas dapat tiba saat skrip atau permintaan latar belakang masih berjalan. Selesaikan atau batalkan pekerjaan itu, bersihkan status yang tidak boleh diwarisi identitas berikutnya, dan pensiunkan klien jika batas itu tidak dapat ditetapkan dengan andal.

Batasi jumlah klien aktif dan tutup WebClient yang selesai. Browser mengurai dan mungkin menjalankan skrip, yang lebih mahal daripada transfer biasa. Untuk tugas yang hanya membutuhkan HTML yang dikembalikan, klien HTTP yang lebih kecil dapat mendukung lebih banyak permintaan bersamaan dalam anggaran sumber daya yang sama.

Artikel terkait