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 വീണ്ടും-ശ്രമ മാനേജ്മെന്റ് ഉപയോഗിക്കുക.

അനുബന്ധ ലേഖനങ്ങൾ