Basic အထောက်အထားစစ်ဆေးမှု ပေးသော HTTP proxy အတွက် 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 ကို အကောင်အထည်ဖော်သည်၊ proxy ကြေညာနိုင်သည့် scheme တိုင်းမဟုတ်ပါ။ ထိုအဖြေကို ရွေးချယ်ခြင်းမပြုမီ စိန်ခေါ်မှုကို စစ်ဆေးပါ။

နောက်ဆုံးရလဒ်သည် 407 အဖြစ် ဆက်ရှိနေပါက ရွေးချယ်ထားသော proxy၊ ကြေညာထားသော scheme နှင့် မှတ်တမ်းတင်ထားသော အကောင့်အထောက်အထားကို နှိုင်းယှဉ်ပါ။ ပယ်ချခံရသော စကားဝှက်၊ ပံ့ပိုးမှုမရှိသော နည်းလမ်းနှင့် မှားယွင်းသော အသုံးပြုသူအမည်ပုံစံတို့သည် မတူညီသော ပြင်ဆင်မှုများ လိုအပ်သည်။ ထိုလေ့လာတွေ့ရှိချက်များနှင့် နောက်ဆုံးအခြေအနေကို ပြင်ဆင်ထားသော ရောဂါစစ်ဆေးမှုတွင် သိမ်းဆည်းပါ။

CONNECT တွင် အခြား callback အကြောင်းအရာ ရှိသည်- ဥမင်မဖွင့်မီ OkHttp သည် ဖန်တီးထားသော ကြိုတင်ကာကွယ် proxy အထောက်အထားစစ်ဆေးမှု စိန်ခေါ်မှုကို မှတ်တမ်းတင်သည်။ callback တိုင်းသည် သာမန်ဦးတည်ရာ တုံ့ပြန်မှုဟု မယူဆဘဲ ထိုအကြောင်းအရာကို API အတိုင်း ကိုင်တွယ်ပါ။

သီးခြား authenticator သည် ဦးတည်ရာဆာဗာ အထောက်အထားစစ်ဆေးမှုအတွက် ဖြစ်သည်။ ၎င်း၏ အထောက်အထားများကို proxy လော့ဂ်အင်နှင့် သီးခြားထားပါ။ ထွက်သွားသော တောင်းဆိုချက်တိုင်းတွင် proxy စကားဝှက် ထည့်သော ယေဘုယျ ကြားဖြတ်ကိရိယာသည် ၎င်းကို မှားယွင်းသော နယ်ပယ်တွင် ပို့နိုင်သည်။

သမိုင်းဝင် အစီရင်ခံစာများသည် အကောင်အထည်ဖော်မှု ချို့ယွင်းချက်များကိုလည်း ဖော်ပြသည်၊ ပယ်ချခံရသော proxy တုံ့ပြန်မှု ကိုယ်ထည်ကို ကိုင်တွယ်ခြင်း အပါအဝင်။ လက်ရှိ ကျရှုံးမှုကို အဟောင်း အစီရင်ခံစာသို့ မတွဲမီ OkHttp ဗားရှင်းနှင့် နောက်ဆုံး ဖလှယ်မှုကို မှတ်တမ်းတင်ပါ။ ထပ်မံကြိုးစားမှု ဆုံးဖြတ်ချက်သည် အသုံးဝင်သော အဖြေအသစ် မရှိသည့် မပြောင်းလဲသော အထောက်အထား ကြိုးစားမှုကို ရပ်တန့်နေရမည်။

ဆက်စပ်ဆောင်းပါးများ