2012-03-12 50 views
1

我想从DNS中检索特定计算机的FQDN,但在我的环境中使用主机名时使用nslookup我得到它的FQDN,但是当我尝试此代码时Java的我只得到主机名回:InetAddress无法检索FQDN,而nslookup能够

InetAddress.getByName("Host name or address").getCanonicalHostName()

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

回答

0

这是您系统配置的问题。

从的Javadoc:

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

getCanonicalHostName

你既可以尝试修改系统设置,允许FQDN得到解决或尝试执行ping命令,分析它,并得到了主机的那个。

+0

你知道什么设置可以防止这种情况吗?在DNS中的东西?客户端有什么?为什么这个设置不能阻止nslookup找到FQDN? – RonZ 2012-03-12 14:58:15

+0

我不是100%确定(自己从来没有遇到过问题),但我相信这可能会有所帮助:[link](http://docs.oracle.com/cd/E19534-01/819-3201 /gboce/index.html) – 2012-03-12 19:51:40

+0

谢谢,但无法使其工作... – RonZ 2012-03-18 08:11:56