Mengambil halaman melalui proksi HTTP dalam jsoup
Gunakan API proksi HTTP jsoup pada peringkat permintaan dan cipta permintaan berasingan apabila beberapa pekerja berkongsi tetapan sesi.
jsoup boleh mengambil halaman melalui proksi HTTP dan menghuraikan respons dalam panggilan yang sama:
Document page = Jsoup.connect("https://www.example.com/")
.proxy("proxy.example", 8080)
.get();
Nama hos dan port integer mengenal pasti proksi. Untuk permintaan halaman awam yang dibenarkan, pilih titik akhir HTTP daripada perkhidmatan anda atau daripada senarai proksi HTTP. URL yang dihantar ke connect kekal sebagai halaman yang anda mahukan. Anda tidak perlu memuat turun HTML ke dalam rentetan dengan URLConnection berasingan hanya untuk menambah laluan ini.
proxy(String, int) memilih proksi HTTP untuk permintaan itu. Nombor port seperti 1080 tidak menukar protokolnya kepada SOCKS; titik akhir proksi mesti bercakap jenis yang sedang dikonfigurasikan. jsoup juga mendedahkan lebihan beban yang menerima java.net.Proxy, tetapi sokongan untuk laluan tertentu masih bergantung pada pelaksanaan HTTP yang digunakan.
Berikan setiap pekerja permintaannya sendiri
Pilihan pada peringkat permintaan memudahkan kerja selari berbanding menukar sifat sistem JVM di sekeliling setiap muat turun. Simpan permintaan boleh ubah secara berasingan untuk setiap pekerja. jsoup moden boleh berkongsi tetapan dan stor kuki sesi sambil mencipta permintaan baharu:
Connection session = Jsoup.newSession();
Document first = session.newRequest()
.url("https://www.example.com/one")
.proxy("proxy-a.example", 8080)
.get();
Document second = session.newRequest()
.url("https://www.example.com/two")
.proxy("proxy-b.example", 8080)
.get();
Panggilan di atas berjalan secara berturutan demi kejelasan. Jika kerja diedarkan secara serentak, cipta permintaan secara bebas dan bukan menukar proksi pada satu Connection yang sedang berjalan. Sesi dikongsi turut berkongsi kuki; gunakan sesi berbeza apabila identiti pelayaran perlu kekal berasingan.
Antara muka ini wujud dalam jsoup 1.21.2. Antara muka newRequest() tanpa argumen berasal dari 1.14.1, jadi aplikasi yang lebih lama harus menyemak kebergantungannya sebelum menggunakan contoh sesi.
Kelayakan ialah keperluan tambahan untuk proksi yang disahkan. Pemilihan laluan yang berjaya tidak memberikan akaun, dan menerima cabaran proksi adalah berbeza daripada gagal menyambung ke portnya.