php小编西瓜今天要为大家介绍的是Go语言中的一个函数net.LookupHost,该函数在进行主机名解析时,可能会返回重复的IP地址。在实际应用中,这可能会导致一些问题,比如连接到同一台服务器多次。因此,我们需要了解这个问题的原因和解决办法,以确保代码的正确性和稳定性。在接下来的文章中,我们将详细解析这个问题,并提供相应的解决方案。敬请关注!
我正在尝试运行 net.lookuphost 来获取运行我的代码的计算机的 ip 地址。它在大多数机器上工作,但在少数机器上,它返回一个包含两个条目的切片:正确的 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
。
系统首先查询 /etc/hosts 文件,然后查询 DNS 服务器。
来源:https://debian-handbook.info /browse/stable/sect.hostname-name-service.html
以上是GoLang:net.LookupHost 返回重复的 ip的详细内容。更多信息请关注PHP中文网其他相关文章!