HttpClient 4 প্ৰক্সি ত্ৰুটি: http প্ৰটোকল সমৰ্থিত নহয়
HTTPS পথে প্ৰথমে HTTP প্ৰক্সিৰ সৈতে সংযোগ কৰোঁতে কাষ্টম Apache HttpClient 4 ৰেজিষ্ট্ৰীত সাধাৰণ HTTP ফেক্টৰী ৰাখক।
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 ৰ প্ৰক্সি ঠিকনা পূৰণ কৰিব পাৰে। বেলেগ বিল্ডাৰ সংৰূপণে ইতিমধ্যে নিৰ্মিত ক্লায়েণ্ট আপডেট নকৰে।
বিল্ডাৰৰ মালিকীস্বত্বও পৰীক্ষা কৰক: HttpClientBuilder এ নথিভুক্ত কৰে যে স্পষ্টভাৱে যোগান ধৰা সংযোগ পৰিচালকে ইয়াৰ পৃথক SSL সংৰূপণ ইনপুটসমূহ অতিক্ৰম কৰিব পাৰে। প্ৰয়োজনীয় ফেক্টৰীবোৰ পৰিচালকৰ ৰেজিষ্ট্ৰীত ৰাখক, পিছত setSSLContext কলই ইয়াৰ আভ্যন্তৰীণ সলনি কৰিব বুলি ধৰি নলৈ।
এই নিৰ্ণয়ে স্থানীয় স্কিম ৰেজিষ্ট্ৰীক সম্পৰ্কে। প্ৰক্সি প্ৰমাণীকৰণৰ প্ৰত্যাহ্বান বা অস্বীকৃত গন্তব্য পিছৰ, বেলেগ ফলাফল। সেই সঁহাৰিসমূহ তদন্ত কৰোঁতে দুয়োটা ফেক্টৰী পঞ্জীয়ন ৰাখক।