GoLang:net.LookupHost返回重复的ip

t30tvxxf  于 2023-03-27  发布在  Go
关注(0)|答案(1)|浏览(154)

我尝试运行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在响应中只给予一个条目,但它在响应中给出了两个相同的条目。

7vux5j2d

7vux5j2d1#

看起来像是DNS解析问题。如果它在其他服务器上工作,请尝试 checkout 文件/etc/hosts
系统首先查询/etc/hosts文件,然后查询DNS服务器。
来源:https://debian-handbook.info/browse/stable/sect.hostname-name-service.html

相关问题