Apache HttpClient tahu kata laluan tetapi masih mendapat 407
Padankan kelayakan proksi Apache HttpClient dengan laluan proksi sebenar dan bezakan cabaran pengesahan daripada log masuk yang gagal.
Kata laluan yang betul pada penyedia tidak mewujudkan kelayakan yang sepadan untuk proksi yang benar-benar dipilih. Mulakan dengan skema, hos dan port titik akhir itu; medan hos biasanya hanya menerima nama hos atau IP, bukan URL penuh.
- Baca keseluruhan pertukaran pengesahan. Satu 407 diikuti percubaan semula yang diterima mungkin normal. Pastikan hasil akhir masih 407 sebelum menganggap log masuk ditolak.
- Bandingkan laluan dan skop kelayakan. Padankan hos/port sebenar dan medan lain yang ditakrifkan oleh HttpClient 5 AuthScope yang digunakan. Port yang salah boleh menyebabkan BasicCredentialsProvider tanpa entri yang sesuai.
- Periksa kaedah dan identiti. Adakah proksi menawarkan kaedah yang disokong? Adakah percubaan semula menggunakan sambungan yang dijangka? Adakah pengendali memerlukan akaun layak domain atau format lain yang didokumenkan?
Gunakan API versi utama yang dipasang. Resipi cache pengesahan HttpClient 4 tidak berpindah tanpa perubahan ke versi 5. Gunakan keperluan akaun pengendali dan bukannya mencuba variasi nama pengguna sewenang-wenangnya.
Pengesahan preventif ialah pilihan sengaja yang lain. Untuk skema yang serasi ia boleh menghapuskan satu pusingan, tetapi ia mengubah bila kelayakan keluar dan memerlukan skop yang disokong. Ia tidak boleh menjadi pembaikan pertama untuk titik akhir yang tidak sepadan atau kaedah yang tidak disokong.
Simpan identiti proksi yang dicabar, kaedah, padanan skop dan status akhir dalam diagnostik yang disunting. Kata laluan dan jejak mentah yang membawa kelayakan tidak diperlukan untuk perbandingan itu.