使用Scala或java lib解析具有特定名称服务器的主机名

时间:2014-07-07 12:45:37

标签: java scala dns nslookup

给定像“example.com”这样的主机名,我希望使用特定的名称服务器获取其IP地址。

java.net.InetAddress已

 private static InetAddress getByName(String host, InetAddress reqAddr)

看起来像我需要的,但是blooper是该方法是私有的。

https://github.com/gilt/scala-srv-dns

def lookup(serviceName: ServiceName,
         transportProtocol: TransportProtocol,
         dnsSearchPaths: List[String]): Seq[ServiceRecord]

但是,再次,私人方法。

那么,我可以使用哪些lib? 您是否知道为什么上面列出的库将这些方法设为私有?

1 个答案:

答案 0 :(得分:2)

dnsjava是我的解决方案(http://www.dnsjava.org/

def lookup(host: String, nameServer: String): Array[String] = {
  val l = new Lookup(host)
  l.setResolver(new SimpleResolver(nameServer))
  l.run()
  if (l.getResult() == Lookup.SUCCESSFUL)
    l.getAnswers().map(_.rdataToString())
  else
    Array.empty[String]
}