Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java InetAddress无法检索FQDN,而nslookup可以_Java_Ldap_Dns - Fatal编程技术网

Java InetAddress无法检索FQDN,而nslookup可以

Java InetAddress无法检索FQDN,而nslookup可以,java,ldap,dns,Java,Ldap,Dns,我正在尝试从DNS检索特定计算机的FQDN,但在我的环境中,当我对主机名使用nslookup时,我会获取其FQDN,但当我在Java中尝试此代码时,我只会获取主机名: InetAddress.getByName(“主机名或地址”).getCanonicalHostName() 原因可能是什么? 是否有更好的方法从主机名获取FQDN,而无需凭据或连接到LDAP服务器?这是系统配置的问题 从Javadoc: 如果有安全管理器,此方法首先调用其checkConnect方法,并将hostname和-1作

我正在尝试从DNS检索特定计算机的FQDN,但在我的环境中,当我对主机名使用
nslookup
时,我会获取其FQDN,但当我在Java中尝试此代码时,我只会获取主机名:

InetAddress.getByName(“主机名或地址”).getCanonicalHostName()

原因可能是什么?
是否有更好的方法从主机名获取FQDN,而无需凭据或连接到LDAP服务器?

这是系统配置的问题

从Javadoc:

如果有安全管理器,此方法首先调用其checkConnect方法,并将hostname和-1作为其参数,以查看是否允许调用代码知道此IP地址的主机名,即连接到主机。如果不允许该操作,它将返回IP地址的文本表示形式


您可以尝试更改系统设置以允许解析FQDN,也可以尝试执行ping命令,对其进行解析并从中获取主机名。

您知道是什么设置阻止此操作吗?DNS中有什么?客户机里有什么?为什么此设置不阻止nslookup查找FQDN?我不能100%确定(我自己从未遇到过问题),但我相信这可能会有帮助: