首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dnsjava无法在Linux机器上解析"localhost“

dnsjava无法在Linux机器上解析"localhost“
EN

Stack Overflow用户
提问于 2013-05-27 14:41:02
回答 1查看 2.1K关注 0票数 0

注册dnsjava as default Java DNS provider后,我遇到了一个问题。它无法解析我的Linux机器上/etc/host文件中描述的本地地址。该文件如下所示:

代码语言:javascript
复制
127.0.0.1   localhost
127.0.1.1   servername

因此,如果我试图解析其中一个这样的名称,UnknownHostException就会发生:

代码语言:javascript
复制
org.xbill.DNS.Address.getByName("localhost");
org.xbill.DNS.Address.getByName("servername");

当您使用dnsjava和默认的dns提供程序时,这不是一个问题。作为唯一的提供者,dnsjava会在默认库中造成许多错误,这些错误严重依赖于本地主机的解析能力。因此,问题是:如何更改dnsjava的行为以解析本地主机名?

编辑.下一步代码运行良好:

代码语言:javascript
复制
java.net.InetAddress.getByName("localhost");

但是java.net.InetAddress.getLocalHost()方法抛出:

代码语言:javascript
复制
java.net.UnknownHostException: servername
EN

回答 1

Stack Overflow用户

发布于 2013-05-27 15:02:14

dnsjava是DNS客户端库;它与DNS服务器对话。/etc/hosts不是DNS协议的一部分,dnsjava也不了解它。

在dnsjava用户邮件列表上看到这篇文章,这篇文章的作者是:http://old.nabble.com/DNS-Resolve-from-hosts-file-first-then-DNS-Server-td15431381.html

在这方面没有任何变化。

如果java.net.InetAddress.getByName()工作正常,则您的DNS服务器配置为响应对localhost的查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16775520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档