У меня есть компьютер в домене Windows, и я пытаюсь получить текущее доменное имя и полное доменное имя хоста из программы Golang.
Лучший найденный мной способ - получить IP-адресиз всех интерфейсов, и попытайтесь разрешить каждый из них, чтобы получить полное доменное имя.Проблема в том, что я не получаю никаких результатов после вызова функции net.LookupAddr () , но я получаю полное доменное имя, если использую команду Windows nslookup или командлет Powershell Resolve-DnsName .
Следующий код просто возвращает пустой массив:
ipAddr := "10.0.100.39"
dnsName, _ := net.LookupAddr(ipAddr)
Когда я запускаю nslookup или Resolve-DnsName из окна powershell, он будетвернуть полное доменное имя.
Согласно коду Голанга, в Windows должно использоваться DNSQuery_W: https://golang.org/src/net/lookup_windows.go#L291
Системный вызов DNSQuery на ходу
Документация MSDN
Если вы знаете лучший способ получить имя домена для текущей машины в Голанге, я был бы рад рассмотреть его, но все же хотел бы знать, что здесь происходит.