To retrieve the IP address from Host Name, vice-versa
Here we are going to explain the method to find out the IP address from host name and to vice verse. Here we are give a complete example named HostLookup.java. In which we call a InetAddress and make a object and pass the input value in it. After that we put the condition, if the user enter any host name then we call the input value with getHostAddress() which return the IP address of that Host . If the user enter any IP address then we call the input value with getHostName() which return the host name of that Host.
Apart from all of this we put the condition for wrong entry system prints "localhost" and if user want to exit from the program then he/she should need to write "exit". The complete code of the example is as under.
Here is the Code of the Example :
HostLookup.java
import java.net.*; import java.io.*; public class HostLookup { public static void main (String[] args) { if (args.length > 0) { for (int i = 0; i < args.length; i++) { System.out.println(lookup(args[i])); } } else { BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter the name and IP addresses. "); System.out.println("Enter \"exit\"."); try { while (true) { String host = buffer.readLine(); if (host.equalsIgnoreCase("exit")) { break; } System.out.println(lookup(host)); } } catch (IOException ex) { System.err.println(ex); } } } private static String lookup(String hostname) { InetAddress node; try { node = InetAddress.getByName(hostname); } catch (UnknownHostException ex) { return "Cannot find host " + hostname; } if (isHostname(hostname)) { return node.getHostAddress(); } else { return node.getHostName(); } } private static boolean isHostname(String host) { // Is this an IPv6 address? if (host.indexOf(':') != -1) return false; char[] ca = host.toCharArray(); for (int i = 0; i < ca.length; i++) { if (!Character.isDigit(ca[i])) { if (ca[i] != '.') return true; } } return false; } } |
Here is the Output of the Example :
C:\ashish\complete>javac HostLookup.java C:\ashish\complete>java HostLookup Enter the name and IP addresses. Enter "exit". roseindia Cannot find host roseindia roseindi 192.168.10.104 192.168.10.103 comp20 localhost |