在我的 java 应用程序中,如果用户输入 IP,我们需要显示主机名,如果给出主机名,那么我们需要显示主机的 IP。
例如,如果用户输入 IP 地址,则173.194.36.37
应用程序应显示google.com
,反之亦然。
是否有任何实用程序可用于执行此操作?
在我的 java 应用程序中,如果用户输入 IP,我们需要显示主机名,如果给出主机名,那么我们需要显示主机的 IP。
例如,如果用户输入 IP 地址,则173.194.36.37
应用程序应显示google.com
,反之亦然。
是否有任何实用程序可用于执行此操作?
如果您使用 Java 编码,请尝试使用InetAddress
InetAddress addr = InetAddress.getByName("173.194.36.37");
String host = addr.getHostName();
System.out.println(host);
SomeKittens 提到的项目看起来像一个用 Java 编写的完整 DNS 服务器,可能超出您的需要。看看java.net.InetAddress
:
java.net.InetAddress.getByName("example.com").getHostAddress();
在域名方面,没有内置实用程序,没有。您可以getCanonicalHostName()
使用 on获取主机名(但不是域名)InetAddress
- 这应该可以。此处的最佳答案链接到DNS Java项目,该项目将为您提供域名。
下面给出了连接到 Google 的一台服务器并从中获取主机名的示例代码:
public class GetHostName {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getByAddress(new byte[]{74, 125,(byte) 227, 7});
System.out.println(address.getCanonicalHostName());
}
}