Java URLConnection: URL না বদলে প্রক্সি সেট করুন
প্রক্সিকে ওয়েব সার্ভার হিসেবে সম্বোধন করা এড়িয়ে চলুন এবং রুটটি আলাদা Java সংযোগ বিকল্প হিসেবে পাঠান।
আসল রিসোর্স URL রাখুন এবং প্রক্সিটি URLConnection-এ আলাদাভাবে পাঠান:
URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);java.net ইমপোর্ট ব্যবহার করুন এবং ডকুমেন্টেশনের প্রক্সি ঠিকানাটি আপনার HTTP সেবা বা HTTP প্রক্সি তালিকা থেকে একটি প্রার্থী দিয়ে প্রতিস্থাপন করুন। সংযোগটি এখনও https://example.com/report অনুরোধ করে; প্রক্সি হলো তার রুট। এই সেটআপ JVM-এর কোনো ক্রেডেনশিয়াল বা সব HTTP লাইব্রেরি কনফিগার করে না।
ভুল কোড যা রিসোর্স URL-এ প্রক্সি বসিয়ে দেয়, রিপোর্টের বদলে দ্রুত একটি প্রক্সি ওয়েব পৃষ্ঠা বা ত্রুটি পেতে পারে। সেই দ্রুত প্রতিক্রিয়াকে উন্নত কর্মক্ষমতা হিসেবে ব্যাখ্যা করার আগে স্ট্যাটাস, বিষয়বস্তু ও প্রকৃত গন্তব্য তুলনা করুন।
openConnection(Proxy) রিসোর্সের পথটি গন্তব্য URI-তে রেখে দেয়। HTTPS সার্টিফিকেট যাচাইয়ের জন্যও সেই হোস্টনামটি রাখুন; এটি মধ্যস্থকারীতে বদলালে রাউটিং ত্রুটিতে নামের অমিল যোগ হতে পারে।
অ্যাপ্লিকেশন যদি অন্য HTTP ক্লায়েন্ট তৈরি করে, তবে সেই ক্লায়েন্ট বা তার সংযোগ-ফ্যাক্টরি ইন্টারফেস ব্যবহার করুন। একটি URLConnection প্রক্সি অবজেক্ট এমন পথ কনফিগার করতে পারে না যা এই API কখনও ডাকে না।