OkHttpClient द्वारे Retrofit प्रॉक्सी कॉन्फिगर करा
Retrofit ला कॉन्फिगर केलेला OkHttpClient द्या आणि API चा बेस URL लक्ष्य सेवेकडेच निर्देशित ठेवा.
OkHttp वर फॉरवर्ड प्रॉक्सी कॉन्फिगर करा, नंतर तोच क्लायंट Retrofit ला द्या:
import java.net.InetSocketAddress;
import java.net.Proxy;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
Proxy proxy = new Proxy(
Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
OkHttpClient http = new OkHttpClient.Builder()
.proxy(proxy)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example/")
.client(http)
.build();
हा तुकडा ट्रान्सपोर्ट स्तर आणि Retrofit इन्स्टन्स तयार करतो. build आधी अॅप्लिकेशनला आवश्यक कन्व्हर्टर व कॉल-अॅडॉप्टर फॅक्टऱ्या या बिल्डरमध्ये जोडा, नंतर या इन्स्टन्समधून त्याचा सेवा इंटरफेस तयार करा.
baseUrl खऱ्या API सेवेकडे निर्देशित ठेवा. तिथे प्रॉक्सी URL ठेवल्यास HTTP गंतव्य बदलते; त्याने प्रॉक्सी वाटाघाटी कॉन्फिगर होत नाही. बेस URL Retrofit ची शेवटच्या स्लॅशची अटही राखते. प्रॉक्सी प्रमाणीकरणाशिवाय अनुमत सार्वजनिक API चाचणी वेगळ्या Proxy ऑब्जेक्टसाठी HTTP प्रॉक्सी यादीतून HTTP पत्ता घेऊ शकते.
OkHttp चा स्पष्ट प्रॉक्सी त्याच्या ProxySelector वर प्राधान्य राखतो. क्लायंटला स्थिर मध्यस्थ हवा असल्यास हे वापरा. गंतव्य-अवलंबी राउटिंग हवे असलेल्या अॅप्लिकेशनांनी ती धोरण समर्थित सिलेक्टरद्वारे रचावे.
सेवा इंटरफेस आधीच दुसऱ्या Retrofit इन्स्टन्समधून तयार झाला असेल, तर हा नवा इन्स्टन्स तयार केल्याने जुन्या इंटरफेसच्या विनंत्या हलत नाहीत. कॉन्फिगर केलेला क्लायंट, Retrofit इन्स्टन्स आणि सेवा ऑब्जेक्ट एकाच बांधणी मार्गावर ठेवा.
प्रमाणीकरण असलेल्या प्रॉक्सीसाठी OkHttp proxyAuthenticator ला त्याच्या गंतव्य प्रमाणकापासून वेगळे उघड करतो. आवश्यक असल्यास तो OkHttp बिल्डरवर कॉन्फिगर करा, नंतर पूर्ण क्लायंट Retrofit ला द्या. Basic प्रमाणीकरणाच्या प्रॉक्सीसाठी मर्यादित proxyAuthenticator पुनर्प्रयत्न हाताळणी वापरा.