সংযোগ ব্যবস্থাপকে Apache HttpClient 5.5-এর SOCKS সেটিংস
HTTP প্রক্সি রুট বা কাস্টম সকেট ফ্যাক্টরির বদলে SocketConfig দিয়ে পুলের সকেট নীতি কনফিগার করুন।
Apache HttpClient 5.5 সংযোগ ব্যবস্থাপকের সকেট সেটিংসে একটি SOCKS কনফিগারেশন পথ অন্তর্ভুক্ত করে। এর রক্ষণাবেক্ষিত উদাহরণ setSocksProxyAddress ব্যবহার করে:
InetSocketAddress socks =
new InetSocketAddress("proxy.example.net", 1080);
PoolingHttpClientConnectionManager manager =
PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultSocketConfig(
SocketConfig.custom()
.setSocksProxyAddress(socks)
.build()
)
.build();
CloseableHttpClient client = HttpClients.custom()
.setConnectionManager(manager)
.build();
অংশটি HttpClient 5-এর org.apache.hc প্যাকেজ এবং HttpCore-এর SocketConfig ব্যবহার করে। এই ক্লায়েন্ট দিয়ে করা অনুরোধ উপরে কনফিগার করা পুল ব্যবহার করে। অ্যাপ্লিকেশনের মালিকানা পরিসর শেষ হলে ক্লায়েন্ট বন্ধ করুন।
প্রকৃত ওয়েবসাইট URL স্বাভাবিকভাবেই অনুরোধে রাখুন। প্রক্সি প্রমাণীকরণ ছাড়া অনুমোদিত পাবলিক সাইটের অনুরোধের জন্য SOCKS প্রক্সি তালিকা সম্ভাব্য ঠিকানা দেয়; প্রকৃত রানটাইম যে SOCKS সংস্করণ সমর্থন করে তা বেছে নিন। SOCKS ঠিকানাটি সেখানে পৌঁছানোর জন্য ব্যবহৃত পরিবহন কনফিগার করে; এটি HttpHost হিসেবে দেওয়া HTTP ফরওয়ার্ড-প্রক্সি রুট নয়।
এগুলি এই ব্যবস্থাপকের জন্য ডিফল্ট সকেট সেটিংস। যে অ্যাপ্লিকেশন প্রতি-রুট SocketConfig রিজলভার ব্যবহার করে তার উচিত সেই নীতির মাধ্যমে কাঙ্ক্ষিত SOCKS সেটিং প্রয়োগ করা। উদাহরণটি সংযোগ ব্যবস্থাপকের স্বাভাবিক গন্তব্য DNS নীতি ধরে রাখে; দূরবর্তী নাম রিজলিউশনের জন্য আলাদাভাবে যাচাই করা কনফিগারেশন প্রয়োজন।