How to Find Host Web Application in Java?

The Find Host Application uses the InetAddress class to find information related to the hosts (Web Addresses). The InetAddress class uses a Domain Name System (DNS) to determine the host information, such as – IP address, hostname, etc.

The Find Host Application uses the following functions of the InetAddress class:
1. getByName(): It returns the IP address of the host.
2. getAllByName(): It returns all the IP addresses of the host.
3. getLocalHost(): It returns the name and IP address of the local host.

Find Host Program in Java:

import java.utill.Scanner;
import java.net.*;
class FindHost
{
public static void main(String args[])
{
char choice;
String str="";
Scanner input=ne Scanner(System.in);
while(true)
{
System.out.println("Select your choice");
System.out.println("I -> Find IP address for a given host name");
System.out.println("A -> Find all IP address for a given host name");
System.out.println("L -> Find the local host");
System.out.println("E -> Exit");
System.out.println("Your choice: ");
System.out.flush();
try
{
switch(choice=(char) System.in.read())
{
case 'I':
case 'i': System.out.println("Enter host name:");
str=input.next();
try
{
InetAddress addr=Inet4Address.getByName(str);
System.out.println("IP Addresso the site is: " +addr);
}
catch(UnknownHostException e)
{
System.out.println("There is an exception: " +e.getMessage());
}
break;
case 'A':
case 'a': System.out.println("Enter host name:");
str=input.next();
try
{
InetAddress[] addrs=InetAddress.getAllByName(str);
System.out.println("IP Addresses of the site are:");
for(int i=0; i<addrs.length; i++)
{
System.out.println(addrs[i]);
}
catch(UnknownHostException e)
{
System.out.println("There is an exception: " +e.getMessage());
}
break;
case 'L':
case 'l': try
{
InetAddress name=InetAddress.getLocalHost();
System.out.println("Local host:"+name.toString());
}
catch(UnknownHostException e)
{
System.out.println("There is an exception: "+e.getMessage());
}
break;
case 'E':
case 'e': System.exit(0);
default: System.out.println("Invalid Choice");
}
}
catch(Exception e)
{
System.out.println("I/O Error");
}
}
}
}
}

Running the application:

To run the Find Host application, we need to perform the following steps:
1. Run the following command at the command prompt:
javac findhost.java

2. After a successful compilation, run the following command:
java findhost

Output:
Select your choice
I -> Find the IP address for a given hostname
A -> Find all IP addresses for a given hostname
L -> Find the Localhost
E -> Exit
Your choices: I
Enter hostname: www.google.com
IP Address of the site is: 210.230.50.99

Select your choice
I -> Find IP address for a given hostname
A -> Find all IP addresses for a given hostname
L -> Find the Localhost
E -> Exit

Your choice: A
Enter hostname: www.google.com
IP Addresses of the site are:
www.google.com/72.14.253.147
www.google.com/72.14.253.103
www.google.com/72.14.253.105
www.google.com/72.14.253.115
Select your choice
I -> Find IP address for a given hostname
A -> Find all IP addresses for a given hostname
L -> Find the Localhost
E -> Exit
Your choices: L
Localhost: default/115.88.3.22

Select your choice
I -> Find IP address for a given hostname
A -> Find all IP addresses for a given hostname
L -> Find the Localhost
E -> Exit
Your choice: E