Basic баталгаажуулалт санал болгодог HTTP проксид OkHttp-ийн proxyAuthenticator итгэмжлэл агуулсан хүсэлтийг буцааж болно. Зөвшөөрлийн оролдлого аль хэдийн татгалзагдсаны дараа ижил хариултыг дахин илгээхийн оронд null буцаа:

.proxyAuthenticator { _, response ->
    if (response.request.header("Proxy-Authorization") != null) {
        null
    } else {
        response.request.newBuilder()
            .header("Proxy-Authorization",
                    Credentials.basic(proxyUser, proxyPassword))
            .build()
    }
}

Энэ ноорог програмын нууц тохиргооноос бүртгэлийн утгуудыг ашигладаг. Хамгаалалт эхний оролдлогыг зөвшөөрч, давтагдсаныг зогсоодог. Энэ нь Basic-ийг хэрэгжүүлдэг бөгөөд прокси зарлаж болох бүх схем биш; тэр хариултыг сонгохын өмнө сорилтыг шалга.

Хэрэв эцсийн үр дүн 407 хэвээр байвал сонгосон прокси, зарласан схем, баримтжуулсан бүртгэлийн таних тэмдгийг харьцуул. Татгалзсан нууц үг, дэмжигдэхгүй арга, буруу хэрэглэгчийн нэрийн хэлбэр нь өөр засвар шаарддаг. Тэдгээр ажиглалт болон эцсийн төлөвийг редакцлагдсан оношилгоонд хадгал.

CONNECT нь өөр callback контексттэй: OkHttp тунель нээхийн өмнө синтетик урьдчилан сэргийлэх прокси баталгаажуулалтын сорилтыг баримтжуулдаг. Callback бүрийг энгийн очих газрын хариулт гэж үзэхийн оронд тэр контекстийг API-ийн дагуу зохицуул.

Тусдаа authenticator нь очих газрын серверийн баталгаажуулалтад зориулагдсан. Түүний итгэмжлэлийг прокси нэвтрэлтээс тусдаа хадгал; гарч буй хүсэлт бүрт прокси нууц үг тавьдаг ерөнхий интерцептор түүнийг буруу хүрээнд илгээж болно.

Түүхэн тайлангууд мөн хэрэгжүүлэлтийн алдааг тайлбарладаг, үүнд татгалзсан прокси хариултын биеийг боловсруулах. Одоогийн алдааг хуучин тайланд хамааруулахын өмнө OkHttp хувилбар болон эцсийн солилцоог тэмдэглэ. Дахин оролдох шийдвэр нь ашигтай шинэ хариултгүй өөрчлөгдөөгүй итгэмжлэлийн оролдлогыг зогсоох ёстой хэвээр.

Холбоотой нийтлэлүүд