Java URLConnection: URL تبدیل کیے بغیر proxy مقرر کریں
proxy کو ویب سرور کے طور پر مخاطب نہ کریں؛ راستہ الگ Java کنکشن آپشن کے طور پر بھیجیں۔
وسیلے کا اصل URL برقرار رکھیں اور proxy کو الگ سے 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 کے امپورٹس استعمال کریں اور دستاویز میں دیا گیا proxy پتہ اپنی HTTP سروس یا HTTP proxy فہرست کے امیدوار سے بدلیں۔ کنکشن اب بھی https://example.com/report طلب کرتا ہے؛ proxy اس کا راستہ ہے۔ یہ ترتیب نہ اسناد کو کنفیگر کرتی ہے اور نہ JVM کی ہر HTTP لائبریری کو۔
غلط کوڈ جو proxy کو وسیلے کے URL میں ڈال دیتا ہے، رپورٹ کے بجائے فوری proxy صفحہ یا خرابی حاصل کر سکتا ہے۔ اس فوری جواب کو بہتر کارکردگی سمجھنے سے پہلے حالت، مواد اور اصل منزل کا موازنہ کریں۔
openConnection(Proxy) وسیلے کا راستہ منزل URI پر ہی رہنے دیتا ہے۔ وہ hostname HTTPS سرٹیفکیٹ کی تصدیق کے لیے بھی برقرار رکھیں؛ اسے واسطے سے بدلنا روٹنگ خرابی میں نام کی عدم مطابقت شامل کر سکتا ہے۔
اگر ایپلیکیشن کوئی دوسرا HTTP کلائنٹ بناتی ہے تو وہی کلائنٹ یا اس کا کنکشن فیکٹری انٹرفیس استعمال کریں۔ URLConnection proxy آبجیکٹ ایسا راستہ کنفیگر نہیں کر سکتا جو اس API کو کبھی نہیں پکارتا۔