我正在尝试编写一个简单的Java程序,该程序将返回IP地址的DNS名称,我使用以下代码实现:
InetAddress host = InetAddress.getByName(ip);
String dnsName = host.getHostName();
当一个DNS名称被注册时,getHostName()将返回该名称,当没有存在的DNS名称时,将返回IP地址。
对于许多地址,上述代码不会返回任何内容,而nslookup命令会返回结果。
例如,对于地址82.117.193.169,nslookup会返回peer-AS31042.sbb.rs,而getHostName()仅返回地址。这并非对所有地址都发生,但在大多数情况下都会出现此问题。