java - 为什么 Java 的 InetAddress 类不将 ipv6 地址解析为其 FQDN?

标签 java networking dns ipv6 fqdn

我正在尝试使用 Java 编写一个简单的程序,给定版本 4 或 6 格式的 IP,将返回其 FQDN。以下代码在给定 ipv4 地址时工作正常,但仅在输入 ipv6 地址时才返回给定地址。

InetAddress inet;
try { inet = InetAddress.getByName(theIpAddress); }
catch(UnknownHostException e) { System.out.println("Unknown Host"); return; }

System.out.println(inet.getHostAddress(););
System.out.println(inet.getHostName(););

每当我输入 ipv6 时,getHostName() 只会返回相同的 ipv6,即使我知道 ipv6 将解析为 FQDN。此外,如果我输入 ipv6 主机名(例如 ipv6.google.com)代替 IpAddress,则会发生异常。

我是这方面的新手,所以非常感谢任何帮助。谢谢。

最佳答案

问题实际上是我运行的 Java 版本。将 Java 从 1.6.21 更新到 1.6.23,允许 ipv6s 解析到它们的 FQDN。

关于java - 为什么 Java 的 InetAddress 类不将 ipv6 地址解析为其 FQDN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589289/

相关文章:

java - 数组搜索的时间复杂度

java - Web 服务请求忽略基本 WSDL XML 元素限制

c# - 在不使用自定义组件的情况下,使用SFTP连接到远程服务器并下载文件是否可行?

c++ - QTcpSocket 不加载 ssl

Azure CNAME 重定向不起作用

java - 什么是 NullPointerException,我该如何解决?

java - 如何在网站上填写表格数据

networking - 如何仅将 Docker 容器端口公开给 localhost,以便也可以通过 ssh 隧道访问它?

.htaccess - openshift 自定义域重定向到 https 版本

Azure 自定义域名