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

标签 java scala dns nslookup

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

java.net.InetAddress 有

 private static InetAddress getByName(String host, InetAddress reqAddr)

这看起来像我需要的,但问题在于该方法是私有(private)的。

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

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

但是,还是私有(private)方法。

那么,我可以使用什么库? 您知道为什么上面列出的库将这些方法设为私有(private)吗?

最佳答案

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]
}

关于java - 使用特定名称服务器解析主机名的 Scala 或 java lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610939/

相关文章:

java - Jxl NullPointerException 与 workbook.close() 方法有关

java - Google AppEngine TaskQueue 抛出由 : java. lang.IllegalArgumentException 引起的:无效 URL:null

postgresql - Slick 与 PostgreSQL Scala SBT Intellij IDEA

performance - Akka HTTP REST API 用于提高 Kafka 性能

linux - 如何在CentOS上设置域名服务器?

java - ArrayList<object> inside ArrayList<anotherObject> inside a class

java - Struts2 validator

json - Play Map[Int,_] 的 JSON 格式化程序

azure - 如何将我的域名连接到我的 Azure 虚拟机 IP?

http - 如何使用SRV记录指向80以外的端口