MST

星途 面试题库

面试题:Java中如何通过代码实现简单的DNS解析

在Java网络编程中,要求使用标准库中的类,编写代码实现对给定域名的DNS解析,获取其对应的IP地址,并简述其中涉及的关键类和方法。
42.8万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

代码实现

import java.net.InetAddress;
import java.net.UnknownHostException;

public class DNSResolver {
    public static void main(String[] args) {
        String domainName = "www.example.com";
        try {
            InetAddress[] addresses = InetAddress.getAllByName(domainName);
            for (InetAddress address : addresses) {
                System.out.println("IP 地址: " + address.getHostAddress());
            }
        } catch (UnknownHostException e) {
            System.out.println("无法解析域名: " + domainName);
        }
    }
}

关键类和方法

  1. InetAddress类:这是Java网络编程中用于表示IP地址(包括IPv4和IPv6)的类。它提供了许多静态方法来获取IP地址相关的信息。
  2. getAllByName(String host)方法:这是InetAddress类的静态方法,接受一个域名作为参数,尝试将其解析为一个或多个InetAddress对象,返回的数组包含与给定主机名关联的所有IP地址。如果域名无法解析,将抛出UnknownHostException异常。
  3. getHostAddress()方法:InetAddress类的实例方法,用于获取InetAddress对象所代表的IP地址的文本表示形式。