Home > Backend Development > Golang > GoLang: net.LookupHost returns duplicate ip

GoLang: net.LookupHost returns duplicate ip

WBOY
Release: 2024-02-09 13:00:19
forward
492 people have browsed it

GoLang:net.LookupHost 返回重复的 ip

php editor Xigua today will introduce to you a function net.LookupHost in the Go language. This function may return duplicate IP addresses when performing host name resolution. In practical applications, this may cause problems such as connecting to the same server multiple times. Therefore, we need to understand the cause and solution of this problem to ensure the correctness and stability of the code. In the following article, we will analyze this problem in detail and provide corresponding solutions. stay tuned!

Question content

I'm trying to run net.lookuphost to get the ip address of the computer running my code. It works on most machines, but on a few it returns a slice with two entries: the correct ip and the duplicate entry with the same ip.

I tried running nslookup on the host but it only returned one entry.

Add code to question -

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)
Copy after login

I expected net.lookuphost to give only one entry in the response, but it gave two identical entries in the response.

Solution

Looks like a DNS resolution issue. If it works on other servers, try checking the file /etc/hosts.

The system first queries the /etc/hosts file, and then queries the DNS server.

Source: https://debian-handbook.info /browse/stable/sect.hostname-name-service.html

The above is the detailed content of GoLang: net.LookupHost returns duplicate ip. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template