Core Java

How to Find the IP Address of a URL in Java

When working with networking applications in Java, we might encounter scenarios where we need to resolve the IP address of a given URL. This is typically useful for debugging, logging, or implementing network-level security. This article will explore how to find the IP address of a URL using Java.

1. Illustration: Resolving a URL to an IP Address

When working on networking tasks, we often need to map a URL or domain name to its corresponding IP address. This process, known as DNS resolution, is essential in understanding how web traffic is routed. For example:

  • URL: www.google.com
  • IP Address: 216.58.223.228

This IP address represents the physical server hosting Google’s services.

2. Code Example: Resolving IP Address of a URL

The following example demonstrates how to resolve the IP address of a URL using the InetAddress class in Java:

public class UrlToIP {

    public static void main(String[] args) {
        String url = "www.javacodegeeks.com";
        try {
            InetAddress inetAddress = InetAddress.getByName(url);
            System.out.println("URL: " + url);
            System.out.println("IP Address: " + inetAddress.getHostAddress());
        } catch (UnknownHostException e) {
            System.err.println("Unable to resolve IP address for the URL: " + url);
        }
    }
}

In the code snippet above, the url variable represents the domain name or URL to be resolved, such as "www.javacodegeeks.com" in this example. The InetAddress.getByName(String host) method is used to fetch the IP address associated with the domain, returning an InetAddress object that contains the resolved address.

To obtain the IP address in string format, the inetAddress.getHostAddress() method is called. When we run the program, we will see the following output:

URL: www.javacodegeeks.com
IP Address: 104.26.2.29

3. Handling Multiple IP Addresses

Many large-scale domains resolve to multiple IP addresses for load balancing or redundancy. Here’s how to handle such cases:

public class MultiIPResolver {

    public static void main(String[] args) {
        String url = "www.google.com";
        try {
            InetAddress[] inetAddresses = InetAddress.getAllByName(url);
            System.out.println("URL: " + url);
            System.out.println("IP Addresses:");
            for (InetAddress inetAddress : inetAddresses) {
                System.out.println(inetAddress.getHostAddress());
            }
        } catch (UnknownHostException e) {
            System.err.println("Unable to resolve IP addresses for the URL: " + url);
        }
    }
}

In this example, the InetAddress.getAllByName(url) method is utilized to retrieve all IP addresses associated with a domain, returning an array of InetAddress objects. Each address in the array can be accessed by iterating through it and displaying the results.

Output Example:

URL: www.google.com
IP Addresses:
216.58.223.228
2c0f:fb50:4003:802:0:0:0:2004

4. Conclusion

In this article, we explored how to find the IP address of a URL in Java using the InetAddress class. We demonstrated how to resolve a domain name to its corresponding IP address. Whether you are working with simple domain names or handling multiple IP addresses, the methods shown above can be tailored to your specific requirements.

5. Download the Source Code

This article explored how to get the IP address of a URL in Java.

Download
You can download the full source code of this example here: get the IP address of a URL in Java

Omozegie Aziegbe

Omos Aziegbe is a technical writer and web/application developer with a BSc in Computer Science and Software Engineering from the University of Bedfordshire. Specializing in Java enterprise applications with the Jakarta EE framework, Omos also works with HTML5, CSS, and JavaScript for web development. As a freelance web developer, Omos combines technical expertise with research and writing on topics such as software engineering, programming, web application development, computer science, and technology.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button