Log anda memutar proxy. Permintaan anda masih menggunakan yang lama.
Jejaki titik akhir yang dipilih ke dalam panggilan HTTP penghantaran sebenar, bukannya menganggap bahawa mencetak nilai baharu mengubah konfigurasi permintaan.
Pemilih mencetak proxy A, kemudian proxy B. Log permintaan masih menunjukkan proxy A. Perkhidmatan rangkaian tidak diperlukan untuk menjelaskan percanggahan itu: pemanggil mungkin telah membuang nilai pulangan pemilih.
Jejaki nilai itu ke dalam panggilan yang menghantar permintaan:
endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)
Serpihan ini menganggap sesi Requests sedia ada dan URL proxy yang disahkan. Untuk permintaan awam yang dibenarkan melalui perantara awam, senarai proxy percuma menyediakan URL calon yang melalui laluan pemilihan-dan-penghantaran yang sama. Kata kunci yang disokong ialah proxies. Pembantu yang mencetak pemetaan, atau memulangkan pemetaan yang tiada siapa menetapkan, tidak boleh menggantikan pemetaan yang diberikan di sini.
Kekalkan laluan yang dipilih sebagai setempat kepada operasi. Dalam kod serentak, medan current_proxy yang dikongsi boleh berubah antara merekod dan menghantar. Pemilihan pekerja lain kemudian boleh muncul di sebelah hasil yang salah.
Gunakan pengecam percubaan untuk menghubungkan pemilihan, konfigurasi penghantaran dan hasil. Rekodkan pengecam titik akhir yang selamat dan bukannya URL penuh apabila ia mengandungi kelayakan.
Jika nilai itu sepadan tetapi IP awam yang diperhatikan tidak berubah, anda telah sampai kepada soalan lain: sama ada titik akhir yang dipilih menyediakan jalan keluar yang berbeza atau get laluan berputar mengekalkan sambungan. Mula-mula tentukan sama ada aplikasi menghantar laluan yang didakwanya dipilih. Jika tidak, spekulasi di pihak penyedia boleh menyembunyikan pemboleh ubah basi yang mudah selama berjam-jam.