为了账号安全,请及时绑定邮箱和手机立即绑定

如何找到本地主机的FQDN?

如何找到本地主机的FQDN?

Go
慕斯王 2021-11-08 19:29:02
Go中如何找到本地主机的FQDN?顺便说一句:net.LookupAddr() 在 Windows 上不起作用。所以这不是一个选择。
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

根据文档,函数os.Hostname()返回内核报告的系统主机名。因此,如果您的计算机名为computer1,则os.Hostname()返回computer1。如果您的计算机已命名computer1.my.office,则os.Hostname()返回computer1.my.office。在 Windows 上,是一样的。如果您想要域名(指 Active Directory 域),您有四种方法:

  1. 解析这个命令的结果: wmic computersystem get domain

  2. 解析这个命令的结果: systeminfo | findstr /B /C:"Domain"

  3. 假设环境变量存在USERDNSDOMAIN并评估其值(注意:该变量的值是在用户存储的域中引用的)

  4. 检查分配给工作站的 ip 是否可以通过 DNS 解析(对于这一点,您可以查看:https : //github.com/Showmax/go-fqdn


查看完整回答
反对 回复 2021-11-08
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

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


查看完整回答
反对 回复 2021-11-08
?
长风秋雁

TA贡献1757条经验 获得超7个赞

默认情况下没有捷径。


os.Hostname()默认不提供完全限定域名。


cmd := exec.Command("/bin/hostname", "-f")

var out bytes.Buffer

cmd.Stdout = &out

err := cmd.Run()

if err != nil {

    log.Errorf(err)

}

fqdn := out.String()

fqdn = fqdn[:len(fqdn)-1] // removing EOL


查看完整回答
反对 回复 2021-11-08
  • 3 回答
  • 0 关注
  • 423 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信