首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 實現 DNS 域名解析:InetAddress 與 DNSJava 庫

     編輯:Java 相關知識

JDK 內建 InetAddress 支持基本 A/AAAA 記錄查詢:

InetAddress[] addresses = InetAddress.getAllByName("example.com");
for (InetAddress addr : addresses) {
    System.out.println(addr.getHostAddress()); // IPv4/IPv6
}

需查詢 MX、NS、TXT、CNAME 等記錄類型,推薦使用 dnsjava 庫:

// Maven: dnsjava:dnsjava:2.1.9
Lookup lookup = new Lookup("example.com", Type.MX);
lookup.setResolver(new SimpleResolver("8.8.8.8")); // 指定 DNS 服務器
Record[] records = lookup.run();
for (Record rec : records) {
    MXRecord mx = (MXRecord) rec;
    System.out.println("郵件服務器: " + mx.getTarget() + " 優先級: " + mx.getPriority());
}

支持递归/迭代查詢、DNSSEC 驗證、區域傳輸 (AXFR)。高併發場景可使用異步 AsyncLookup 或連接池 ExtendedResolver。注意處理 TextParseException、UnknownHostException 等異常。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved