是否可以检测java中使用的主机名(即使通过cname)?
我正在寻找类似的东西: http://api.drupal.org/api/function/conf_path/6
在该代码中,drupal检查以查看正在访问它的域名以加载正确的配置(多站点)。如果域与任何配置都不匹配,则只会进入默认配置。
答案 0 :(得分:4)
查看InetAddress.getLocalHost(),然后在返回的值上调用getHostName(),这样就可以了。
请注意,并非所有计算机都能够解析可用于本地主机名的网络接口,并且多宿主计算机也会遇到一些额外的复杂问题。因此,如果您正在开发需要在各种情况下工作的软件,请正确考虑边缘情况以及快乐路径。
答案 1 :(得分:1)
当然,这样做会导致每个getHostName()调用都进行反向DNS查找 这是繁忙网站的性能损失 我建议你做getHostAddress(),然后再查看主机名。