gpt4 book ai didi

java - 检查 Java 中名称服务器的 dns 查找

转载 作者:可可西里 更新时间:2023-11-01 16:48:59 27 4
gpt4 key购买 nike

给定一个域和一个名称服务器 ip,我想知道名称服务器在哪里解析 java 中的 IP,我该如何实现它?谢谢

最佳答案

你至少有两个选择:

如果您的代码必须在任何虚拟机上运行,​​您必须使用许多可用的 Java DNS 库之一。谷歌搜索“java dns library”会给你很多选择。

如果您的代码只在 Sun/Oracle VM 上运行,您可以像这样使用专有的 JNDI DNS 提供程序:

Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns://<your DNS server>");

DirContext ictx = new InitialDirContext(env);
Attributes attrs = ictx.getAttributes("www.heise.de", new String[] {"A", "AAAA"});

NamingEnumeration<? extends Attribute> e = attrs.getAll();
while(e.hasMoreElements()) {
Attribute a = e.next();
System.out.println(a.getID() + " = " + a.get());
}

此示例将查询指定的 DNS 服务器以获取主机 www.heise.de 的所有 A 和 AAAA 记录:

A = 193.99.144.85

AAAA = 2a02:2e0:3fe:100::7

关于java - 检查 Java 中名称服务器的 dns 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12405654/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com