బేసిక్ ప్రామాణీకరణ అందించే 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 కు మరో కాల్‌బ్యాక్ సందర్భం ఉంది: సొరంగాన్ని తెరవడానికి ముందు OkHttp కృత్రిమ ముందస్తు ప్రాక్సీ-ప్రామాణీకరణ సవాలును నమోదు చేస్తుంది. ప్రతి కాల్‌బ్యాక్ సాధారణ గమ్యస్థాన సమాధానం అని భావించకుండా API ప్రకారం ఆ సందర్భాన్ని నిర్వహించండి.

వేరైన authenticator గమ్యస్థాన సర్వర్ ప్రామాణీకరణ కోసం. దాని ఆధారాలను ప్రాక్సీ లాగిన్ నుండి వేరుగా ఉంచండి; ప్రతి బయటకు వెళ్లే అభ్యర్థనపై ప్రాక్సీ సంకేతపదం పెట్టే సాధారణ ఇంటర్‌సెప్టర్ దాన్ని తప్పు పరిధిలో పంపవచ్చు.

చారిత్రక నివేదికలు అమలు బగ్‌లను కూడా వివరిస్తాయి, తిరస్కరించబడిన ప్రాక్సీ-సమాధానం యొక్క ప్రధాన భాగం నిర్వహణతో సహా. ప్రస్తుత వైఫల్యాన్ని పాత నివేదికకు ఆపాదించే ముందు OkHttp వెర్షన్ మరియు తుది మార్పిడిని నమోదు చేయండి. పునఃప్రయత్న నిర్ణయం ఉపయోగకరమైన కొత్త సమాధానం లేని మారని ఆధారాల ప్రయత్నాన్ని ఇప్పటికీ ఆపాలి.

సంబంధిత వ్యాసాలు