【问题标题】:How should I get the fully qualified domain name of "localhost" in c++ (on ubuntu)?我应该如何在 c++ 中(在 ubuntu 上)获得“localhost”的完全限定域名?
【发布时间】:2010-01-28 17:12:04
【问题描述】:

我一直在搞乱getaddrinfo 和getnameinfo,但最接近有用输出的是“localhost.localdomain”。我不确定为 getaddrinfo 的“节点”或“服务”参数传递什么,尽管我认为这是我想要的功能。

【问题讨论】:

  • 您不能以任何可靠性将“localhost”转换为完全合格的域。例如,可能有几个完全限定的域使用相同的 IP 地址,或者可能没有。如果在您的特定情况下,您知道有一个唯一的完全限定域,那么只需通过配置文件在您的应用中指定它。在您的情况下,似乎 localhost.localdomain 是完全限定的域,如 /etc/hosts 中配置的那样

标签: c++ linux fqdn


【解决方案1】:

实际上,Zxaos 的答案几乎就是我一直在寻找的答案(尽管它适用于 C,而我的适用于 C++,但两者都适用):

How do I find the current machine's full hostname in C (hostname and domain information)?

所以我猜我的问题是重复的......

【讨论】:

    【解决方案2】:

    你可以试试下面的命令:

    #hostname --fqdn
    

    适用于 OpenSuse 风格。不确定 Ubuntu。

    【讨论】:

      最近更新 更多