मेरे पास DNS सर्वर आईपी एड्रेस और एक होस्टनाम है।
जावा का उपयोग करके, मैं उस DNS सर्वर द्वारा IP पते और होस्टनाम का उपयोग करके होस्टनाम का आईपी पता कैसे प्राप्त कर सकता हूं?
मेरे पास DNS सर्वर आईपी एड्रेस और एक होस्टनाम है।
जावा का उपयोग करके, मैं उस DNS सर्वर द्वारा IP पते और होस्टनाम का उपयोग करके होस्टनाम का आईपी पता कैसे प्राप्त कर सकता हूं?
जवाबों:
एक नजर InetAddressऔर getHostAddress()विधि पर।
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddressजब आप मांगते हैं तो डीएनएस हल पता प्राप्त करना चाहिए getHostAddress()। मुझे यकीन नहीं है कि आप इसे एक विशिष्ट DNS सर्वर का उपयोग करने के लिए मजबूर कर सकते हैं ।
आप इसे इस तरह से कर सकते हैं:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
आप इसके लिए InetAddress का उपयोग कर सकते हैं। नीचे दिए गए कोड का प्रयास करें,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
जैसा कि ऊपर सभी ने सुझाव दिया है, आप इसका उपयोग कर सकते हैं
InetAddress.getByName("hostName")लेकिन यह आपको एक कैश्ड आईपी दे सकता है, उसी के लिए जावा प्रलेखन पढ़ें। यदि आप DNS से IP प्राप्त करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>एक कमांड लाइन में?