हमारे निजी नेटवर्क के सर्वर पर हमारे पास एक HttpServlet है जिसका एक ही नेटवर्क के पीसी द्वारा संपर्क किया जाता है।किस मामले में getRemoteHost विधि होस्टनाम के बजाय एक आईपी पता देता है?
हमें क्लाइंट के होस्टनाम को जानने की आवश्यकता है जो सर्वर से संपर्क करता है। ऐसा करने के लिए हम HttpServletRequest की getRemoteHost विधि को कॉल करें।
कुछ बार यह विधि क्लाइंट का पीसी नाम (वांछित व्यवहार) देता है और कुछ अन्य विधि आईपी पता देता है। (समान ग्राहक, एक ही सर्वर, एक ही प्राइवेट नेटवर्क)
API का कहना है:
java.lang.String getRemoteHost()
ग्राहक या पिछले की पूरी तरह से योग्य नाम रिटर्न प्रॉक्सी जिसने अनुरोध भेजा था। यदि इंजन मेजबाननाम (प्रदर्शन में सुधार करने के लिए) को हल नहीं कर सकता है या नहीं चुनता है, तो यह विधि आईपी पते के बिंदीदार स्ट्रिंग फॉर्म को वापस लाती है। HTTP सर्वलेट के लिए, सीजीआई चर का मान REMOTE_HOST रूप में एक ही
रिटर्न: एक स्ट्रिंग क्लाइंट
मुझे लगता है कि HTTP सर्वलेट के लिए है कि मूल्य है की पूरी तरह से योग्य नाम वाले CGI वैरिएबल REMOTE_HOST के समान। इसका क्या मतलब है? पते को हल करने का फैसला करने के लिए सर्वर पर है या नहीं? क्या इस व्यवहार को मजबूर करने का कोई तरीका है?
सर्वर केवल होस्ट पता पाने के लिए आईपी पता जानता है, इसे रिवर्स लुकअप करने की आवश्यकता होगी। यदि आप एफक्यूडीएन प्राप्त करना चाहते हैं तो आप हमेशा मैन्युअल रूप से ऐसा कर सकते हैं –