我正在尝试运行 net.LookupHost 来获取运行我的代码的计算机的 IP 地址。它在大多数机器上工作,但在少数机器上,它返回一个包含两个条目的 slice :正确的 IP 和具有相同 IP 的重复条目。
我尝试在主机上运行 nslookup,但它只返回一个条目。
将代码添加到问题中 -
hostname, _ := os.Hostname()
ips, err := net.LookupHost(hostname)
if err != nil {
fmt.Printf("%d\n", err.Error())
}
fmt.Printf("Hello, 世界 %#v \n", ips)
ips2, err := net.LookupIP(hostname)
if err != nil {
fmt.Printf("%d\n", err.Error())
}
fmt.Printf("Hello, 世界 %#v \n", ips2)
我期望 net.LookupHost 在响应中只给出一个条目,但它在响应中给出了两个相同的条目。
最佳答案
看起来像是 DNS 解析问题。
如果它在其他服务器上工作,请尝试检查文件 /etc/hosts
。
The system consults the /etc/hosts file first, then DNS servers.
来源:https://debian-handbook.info/browse/stable/sect.hostname-name-service.html
关于GoLang : net. LookupHost 返回重复的 ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75845664/