OkHttp Basic proksi autentifikatsiyasi: rad etilgan qayta urinishlarni to'xtating
Proksi chaqiriqlari uchun OkHttp proxyAuthenticator-dan foydalaning va o'zgarmagan avtorizatsiya urinishini takrorlashni to'xtating.
Basic autentifikatsiyani taklif qiluvchi HTTP proksi uchun OkHttp proxyAuthenticator hisob ma'lumotlarini olib yuruvchi so'rovni qaytarishi mumkin. Avtorizatsiya urinishi allaqachon rad etilgandan so'ng o'sha javobni qayta yuborish o'rniga null qaytaring:
.proxyAuthenticator { _, response ->
if (response.request.header("Proxy-Authorization") != null) {
null
} else {
response.request.newBuilder()
.header("Proxy-Authorization",
Credentials.basic(proxyUser, proxyPassword))
.build()
}
}
Bu eskiz dasturning maxfiy konfiguratsiyasidagi hisob qiymatlaridan foydalanadi. Himoya birinchi urinishga ruxsat beradi va takrorlanganini to'xtatadi. U Basic-ni amalga oshiradi, proksi e'lon qilishi mumkin bo'lgan har bir sxemani emas; o'sha javobni tanlashdan oldin chaqiriqni tekshiring.
Agar yakuniy natija hanuz 407 bo'lsa, tanlangan proksi, e'lon qilingan sxema va hujjatlashtirilgan hisob identifikatorini solishtiring. Rad etilgan parol, qo'llab-quvvatlanmaydigan usul va noto'g'ri foydalanuvchi nomi shakli turli tuzatishlarni talab qiladi. Bu kuzatishlar va yakuniy holatni tahrirlangan diagnostikada saqlang.
CONNECT boshqa qayta qo'ng'iroq kontekstiga ega: OkHttp tunnelni ochishdan oldin sintetik oldindan proksi autentifikatsiya chaqirig'ini hujjatlashtiradi. Har bir qayta qo'ng'iroq oddiy manzil javobi deb o'ylash o'rniga bu kontekstni API bo'yicha boshqaring.
Alohida authenticator manzil serverining autentifikatsiyasi uchun. Uning hisob ma'lumotlarini proksiga kirishdan alohida saqlang; har bir chiquvchi so'rovga proksi parolini qo'yadigan umumiy interceptor uni noto'g'ri doirada yuborishi mumkin.
Tarixiy hisobotlar joriy qilish xatolarini ham tasvirlaydi, jumladan rad etilgan proksi javobining tanasini qayta ishlash. Hozirgi nosozlikni eski hisobotga bog'lashdan oldin OkHttp versiyasini va yakuniy almashinuvni yozib oling. Qayta urinish qarori hali ham foydali yangi javobi yo'q o'zgarmagan hisob ma'lumotlari urinishini to'xtatishi kerak.