Apache HttpClient 4 ആപ്ലിക്കേഷനിൽ HTTPS ലക്ഷ്യസ്ഥാനം എന്നാൽ എല്ലാ കണക്ഷനും TLS-ൽ തുടങ്ങുന്നു എന്നല്ല. സാധാരണ HTTP പ്രോക്സിയിലേക്ക് എൻക്രിപ്ഷനില്ലാത്ത കണക്ഷനിലൂടെ എത്തുന്നു, അതിനുശേഷം CONNECT ടണൽ തുറക്കുന്നു, തുടർന്ന് ലക്ഷ്യസ്ഥാനത്തേക്ക് TLS പാളികളായി വരുന്നു.

കസ്റ്റം കണക്ഷൻ മാനേജർ https മാത്രം രജിസ്റ്റർ ചെയ്താൽ, ആദ്യ പ്രോക്സി ചാട്ടം UnsupportedSchemeException: http protocol is not supported-ൽ പരാജയപ്പെടാം.

4.5 API-ക്കായി, ആ മാനേജർ നിർമ്മിക്കുമ്പോൾ രണ്ട് ഫാക്ടറികളും ഉൾപ്പെടുത്തുക:

var registry = RegistryBuilder.<ConnectionSocketFactory>create()
    .register("http", PlainConnectionSocketFactory.getSocketFactory())
    .register("https", tlsFactory)
    .build();

var manager = new PoolingHttpClientConnectionManager(registry);
var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("proxy.example.net", 8080, "http"))
    .build();

tlsFactory ആപ്ലിക്കേഷന്റെ നിലവിലുള്ള SSLConnectionSocketFactory ആണ്, ഉദ്ദേശിച്ച വിശ്വാസവും ഹോസ്റ്റ്നാമ പരിശോധനയും സഹിതം. കാണിച്ചിരിക്കുന്ന തരങ്ങൾ Apache 4-ന്റെ org.apache.http പാക്കേജുകളുടേതാണ്. ഈ ഭാഗം Java-യുടെ ലോക്കൽ വേരിയബിൾ തരം അനുമാനം കരുതുന്നു; പഴയ Java കോഡിന് വ്യക്ത തരങ്ങൾ ഉപയോഗിക്കാം.

തിരുത്തിയ മാനേജർ അഭ്യർത്ഥനയ്ക്ക് യഥാർത്ഥത്തിൽ ഉപയോഗിക്കുന്ന ക്ലയന്റുമായി ബന്ധിപ്പിക്കുക. പ്രോക്സി പ്രാമാണീകരണമില്ലാതെ അനുവദിച്ച പൊതു HTTPS അഭ്യർത്ഥനയ്ക്ക്, HTTP പ്രോക്സി പട്ടികയിലെ HTTP എൻട്രിക്ക് HttpHost-ന്റെ പ്രോക്സി വിലാസം നിറയ്ക്കാം. മറ്റൊരു builder കോൺഫിഗർ ചെയ്യുന്നത് ഇതിനകം നിർമ്മിച്ച ക്ലയന്റിനെ അപ്ഡേറ്റ് ചെയ്യുന്നില്ല.

builder-ന്റെ ഉടമസ്ഥതയും പരിശോധിക്കുക: വ്യക്തമായി നൽകിയ കണക്ഷൻ മാനേജർക്ക് അതിന്റെ വേറിട്ട SSL കോൺഫിഗറേഷൻ ഇൻപുട്ടുകളെ മറികടക്കാമെന്ന് HttpClientBuilder രേഖപ്പെടുത്തുന്നു. ആവശ്യമായ ഫാക്ടറികൾ മാനേജറുടെ രജിസ്ട്രിയിൽ വയ്ക്കുക, പിന്നീടുള്ള setSSLContext വിളി അതിന്റെ ഉൾഭാഗം മാറ്റുമെന്ന് കരുതുന്നതിനുപകരം.

ഈ രോഗനിർണയം പ്രാദേശിക സ്കീം രജിസ്ട്രിയെക്കുറിച്ചാണ്. പ്രോക്സി പ്രാമാണീകരണ വെല്ലുവിളിയോ നിരസിക്കപ്പെട്ട ലക്ഷ്യസ്ഥാനമോ പിന്നീടുള്ള, വ്യത്യസ്ത ഫലമാണ്. ആ പ്രതികരണങ്ങൾ അന്വേഷിക്കുമ്പോൾ രണ്ട് ഫാക്ടറി രജിസ്ട്രേഷനുകളും നിലനിർത്തുക.

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