我想使用guava中的类HostAndPort来存储主机和端口。如果主机是“localhost”而不是“127.0.0.1”,那么创建有效HostAndPort
- 实例的最简单方法是什么?
在创建HostAndPort
- 实例之前,它尝试HostSpecifier.isValid(String)验证主机,但它为“localhost”返回false
。所以在我的情况下我不能使用HostSpecifier
,除了我将“localhost”转换为“127.0.0.1”。
是否有其他方法可以在没有DNS查找的情况下验证主机名?
答案 0 :(得分:2)
java.net.InetAddress.getByName(String hostname)
就是那个。 http://docs.oracle.com/javase/6/docs/api/java/net/InetAddress.html
本地地址查找是通过Windows上的lmhosts(如果启用)和使用名称服务开关配置(/etc/nsswitch.conf
)在linux / unix上完成的,以便检查首先查找的位置 - files,dns,nis
....等等(man nsswitch.conf
)。 java api调用将根据系统配置解决它。
编辑:
你可能也想看一下这个库 http://www.xbill.org/dnsjava/
希望这有助于升技。