如何找到本地主机的FQDN?

Go中如何找到本地主机的FQDN?

顺便说一句:net.LookupAddr() 在 Windows 上不起作用。所以这不是一个选择。


慕斯王
浏览 401回答 3
3回答

杨魅力

根据文档,函数os.Hostname()返回内核报告的系统主机名。因此,如果您的计算机名为computer1,则os.Hostname()返回computer1。如果您的计算机已命名computer1.my.office,则os.Hostname()返回computer1.my.office。在 Windows 上,是一样的。如果您想要域名(指 Active Directory 域),您有四种方法:解析这个命令的结果: wmic computersystem get domain解析这个命令的结果: systeminfo | findstr /B /C:"Domain"假设环境变量存在USERDNSDOMAIN并评估其值(注意:该变量的值是在用户存储的域中引用的)检查分配给工作站的 ip 是否可以通过 DNS 解析(对于这一点,您可以查看:https : //github.com/Showmax/go-fqdn)

陪伴而非守候

您可以使用此处演示的 net lib 执行一些体操。

长风秋雁

默认情况下没有捷径。os.Hostname()默认不提供完全限定域名。cmd := exec.Command("/bin/hostname", "-f")var out bytes.Buffercmd.Stdout = &outerr := cmd.Run()if err != nil {    log.Errorf(err)}fqdn := out.String()fqdn = fqdn[:len(fqdn)-1] // removing EOL
打开App,查看更多内容
随时随地看视频慕课网APP