3

是否可以检测到 java 中使用的主机名(甚至通过 cname)?

我正在寻找类似的东西: http: //api.drupal.org/api/function/conf_path/6

在该代码中,drupal 检查以查看访问它的域名以加载正确的配置(多站点)。如果域不匹配任何配置,它只会转到默认配置。

4

2 回答 2

4

查看InetAddress.getLocalHost(),然后在返回值上调用getHostName(),这正是这样做的。

请注意,并非所有机器都能够解析可用于本地主机名的网络接口,并且多宿主机器也会遇到一些额外的复杂情况。因此,如果您正在开发需要在各种情况下工作的软件,请正确考虑边缘情况以及幸福路径。

于 2010-06-19T22:48:52.717 回答
1

当然,这样做会导致每个 getHostName() 调用的反向 DNS 查找。
这是繁忙站点上的性能损失。
我建议先做 getHostAddress() ,然后再查找主机名。

于 2010-06-19T23:11:00.487 回答