OkHttp ਬੇਸਿਕ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣਿਕਤਾ: ਰੱਦ ਕੀਤੀਆਂ ਮੁੜ-ਕੋਸ਼ਿਸ਼ਾਂ ਰੋਕੋ
ਪ੍ਰੌਕਸੀ ਚੁਣੌਤੀਆਂ ਲਈ OkHttp ਦਾ proxyAuthenticator ਵਰਤੋ ਅਤੇ ਬਦਲਿਆ ਨਾ ਗਿਆ ਅਧਿਕਾਰ ਪ੍ਰਯਾਸ ਦੁਹਰਾਉਣਾ ਬੰਦ ਕਰੋ।
ਬੇਸਿਕ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇਣ ਵਾਲੇ 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 ਸੰਸਕਰਣ ਅਤੇ ਅੰਤਿਮ ਅਦਲਾ-ਬਦਲੀ ਦਰਜ ਕਰੋ। ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਦਾ ਫੈਸਲਾ ਅਜੇ ਵੀ ਉਸ ਬਦਲੇ ਨਾ ਗਏ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਪ੍ਰਯਾਸ ਨੂੰ ਰੋਕਣਾ ਚਾਹੀਦਾ ਹੈ ਜਿਸ ਕੋਲ ਕੋਈ ਲਾਭਦਾਇਕ ਨਵਾਂ ਜਵਾਬ ਨਹੀਂ ਹੈ।