【问题标题】:Need to get only Hostname not FQDN in java在java中只需要获取主机名而不是FQDN
【发布时间】:2020-10-22 20:23:29
【问题描述】:

我有多个应用程序,托管在不同的服务器上。 所有应用程序都使用 java 8。 我尝试了 java.net 函数 InetAddress.getLocalHost().getHostName() 来获取主机名,它为不同的服务器提供了不一致的结果。 对于某些服务器,我得到没有域名的主机名和一些 FQDN。 我希望所有具有相同代码的应用程序的结果一致。 我想保留字符串截断作为最后的选择。 如果 java 中有一些函数可以只获取主机名(没有域名),我想使用函数在所有应用程序中获得一致的结果。

【问题讨论】:

    标签: java hostname fqdn


    【解决方案1】:

    我想你可以试试 InetAddress.getCanonicalHostName() 或 InetAddress.getName() 方法。假设在您的网络上运行了适当的名称服务,这两个应该可以解决问题。

    getCanonicalHostName() 的 JavaDocs 说

    获取此 IP 地址的完全限定域名。尽力而为的方法,这意味着我们可能无法返回 FQDN,具体取决于底层系统配置。

    因此,如果您想获取本地 FQDN,通常可以致电:InetAddress.getLocalHost().getCanonicalHostName()

    【讨论】:

    • 我只需要主机名,不需要 FQDN.. 我只需要获取没有域名的主机名。
    猜你喜欢
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    相关资源
    最近更新 更多