Prerequisite: InetAddress
getByName() : Returns the InetAddress of the given host. If the host is a literal IP address, then only its validity is checked. Fetches public IP Address of the host specified. It takes the host as an argument and returns the corresponding IP address.
Examples:
Input : www.google.com Output : 216.58.199.164 Input : localhost Output : 127.0.0.1
Below programs illustrate how to fetch public IP address:
Note: These programs wont run on online compilers. Use offline compilers like Netbeans, Eclipse, etc, instead.
Program 1: Fetch IP address of any url
// Java program to demonstrate // how to fetch public IP Address import java.net.*; import java.*; class GFG { public static void main(String args[]) throws UnknownHostException { // The URL for which IP address needs to be fetched try { // Fetch IP address by getByName() InetAddress ip = InetAddress.getByName( new URL(s) .getHost()); // Print the IP address System.out.println( "Public IP Address of: " + ip); } catch (MalformedURLException e) { // It means the URL is invalid System.out.println( "Invalid URL" ); } } } |
Output:
Public IP Address of: www.google.com/216.58.196.164
Program 2: Fetch public IP address of the one’s system
To find public IP, use http://bot.whatismyipaddress.com. It is an online utility, to find system’s public IP. Open the URL, read a line and print the line.
// Java program to demonstrate // how to fetch public IP Address import java.net.*; import java.*; class GFG { public static void main(String args[]) throws UnknownHostException { String systemipaddress = "" ; try { BufferedReader sc = new BufferedReader( new InputStreamReader(url_name.openStream())); // reads system IPAddress systemipaddress = sc.readLine().trim(); } catch (Exception e) { systemipaddress = "Cannot Execute Properly" ; } // Print IP address System.out.println( "Public IP Address: " + systemipaddress + "\n" ); } } |
Output:
Public IP Address: 103.62.239.242
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.