Java विनंतीला अनेक प्रॉक्सी इनपुट्स भेटू शकतात: स्पष्ट क्लायंट कॉन्फिगरेशन, डीफॉल्ट सिलेक्टर, JVM नेटवर्किंग गुणधर्म आणि समर्थित ऑपरेटिंग सिस्टम सेटिंग्ज. लॉग अनपेक्षितपणे SOCKS चा उल्लेख करतो तेव्हा कोणत्या इनपुटने ते निवडले ते ओळखा.

डीफॉल्ट सिलेक्टर वापरणाऱ्या कोडसाठी, अचूक गंतव्यासाठीचा निर्णय तपासा:

URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
    System.out.println(selector.select(target));
}

हे सिलेक्टरचे उमेदवार नोंदवते. कोणते कनेक्शन शेवटी यशस्वी झाले हे ते सिद्ध करत नाही, आणि स्वतःचा स्पष्ट मार्ग असलेला क्लायंट वेगळी निवड करू शकतो.

प्रभावी सेटिंग्ज तपासा

http.proxyHost, https.proxyHost, socksProxyHost, त्यांचे पोर्ट आणि java.net.useSystemProxies यांचे पुनरावलोकन करा. JDK नेटवर्किंग-गुणधर्म दस्तऐवज त्यांची व्याप्ती आणि प्राधान्य वर्णन करतो. सिस्टम प्रॉक्सी शोध सुरुवातीला तपासला जातो; JVM सुरू करताना तो हेतुपुरस्सर सेट करा.

ऐतिहासिक उत्तरे जुन्या Windows संवाद आणि जुन्या JDK च्या विशिष्ट संयोजनांचे वर्णन करतात. ते अहवाल उपायाचे मूळ स्पष्ट करू शकतात, परंतु सध्याच्या रनटाइममध्ये तीच बग आहे हे ते सिद्ध करत नाहीत. सर्व अनुप्रयोगांसाठी ऑपरेटिंग सिस्टम सेटिंग्ज बदलण्यापूर्वी रनटाइम आवृत्ती आणि सिलेक्टर आउटपुट नोंदवा.

अनुप्रयोगाला एका क्लायंटसाठी HTTP प्रॉक्सी हवा असल्यास, स्पष्ट प्रॉक्सी कॉन्फिगरेशन ती गरज स्पष्ट करू शकते. त्याला केंद्रीय स्वयंचलित राउटिंग हवे असल्यास, सिलेक्टरला अनपेक्षित SOCKS नोंद का मिळाली किंवा परत केली गेली याची चौकशी करा.

सानुकूल सिलेक्टरने हेतुपुरस्सर बायपास आणि अपयश हाताळणी जपली पाहिजे. प्रत्येक SOCKS उमेदवाराला भेदभावाशिवाय फिल्टर केल्यास वापरायच्या असलेल्या कनेक्शन तुटू शकतात. तुम्ही ओळखू शकता त्या सर्वात लहान व्याप्तीने चुकीचा नियम दुरुस्त करा.

संबंधित लेख