我在Windows域中安装了一台计算机,并且我试图从Golang程序中获取当前域名和主机的FQDN。
我发现的最佳方法是获取所有接口的IP地址,并尝试解析其中的每个接口以获取FQDN。问题是我在调用函数 net.LookupAddr()后没有得到任何结果,但如果我使用Windows命令 nslookup ,我得到了FQDN或者Powershell cmdlet Resolve-DnsName 。
以下代码只返回一个空数组:
ipAddr := "10.0.100.39"
dnsName, _ := net.LookupAddr(ipAddr)
如果我从powershell窗口运行nslookup或Resolve-DnsName,它将返回FQDN。
根据Golang代码,它应该在Windows中使用DNSQuery_W: https://golang.org/src/net/lookup_windows.go#L291
如果你知道在Golang中获取当前机器域名的更好方法,我会很乐意考虑它,但仍然想知道这里发生了什么。