【发布时间】:2012-07-23 18:15:16
【问题描述】:
java.net.InetAddress 默认使用本地机器的默认主机名解析器解析主机名:
主机名到 IP 地址的解析是通过结合使用本地机器配置信息和网络命名服务(例如域名系统 (DNS) 和网络信息服务 (NIS))来完成的。正在使用的特定命名服务是默认情况下本地计算机配置一个。对于任何主机名,都会返回其对应的 IP 地址。 [source]
我们如何在不修改本地机器的默认主机名解析器的情况下配置此行为?
例如,无论如何配置 java.net.InetAddress 以便它通过 OpenDNS(208.67.222.222、208.67.220.220)或 Google 公共 DNS(2001:4860:4860::8888、2001:4860:4860)解析主机名::8844)?
或者是明确创建 DNS 数据包请求,通过java.net.DatagramSocket 或java.net.Socket 将它们发送到服务器并解析响应的唯一解决方案?
【问题讨论】:
标签: java networking dns