Maison  >  Article  >  développement back-end  >  GoLang : net.LookupHost renvoie une adresse IP en double

GoLang : net.LookupHost renvoie une adresse IP en double

WBOY
WBOYavant
2024-02-09 13:00:19421parcourir

GoLang:net.LookupHost 返回重复的 ip

Ce que l'éditeur php Xigua vous présentera aujourd'hui est une fonction net.LookupHost dans le langage Go. Cette fonction peut renvoyer des adresses IP en double lors de la résolution du nom d'hôte. Dans des applications pratiques, cela peut entraîner des problèmes tels que la connexion plusieurs fois au même serveur. Par conséquent, nous devons comprendre la cause et la solution de ce problème pour garantir l’exactitude et la stabilité du code. Dans l'article suivant, nous analyserons ce problème en détail et proposerons les solutions correspondantes. restez à l'écoute!

Contenu de la question

J'essaie d'exécuter net.lookuphost pour obtenir l'adresse IP de l'ordinateur exécutant mon code. Cela fonctionne sur la plupart des machines, mais sur quelques-unes, il renvoie une tranche avec deux entrées : l'adresse IP correcte et l'entrée en double avec la même adresse IP.

J'ai essayé d'exécuter nslookup sur l'hôte mais il ne renvoie qu'une seule entrée.

Ajouter le code à la 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)

Je m'attendais à ce que net.lookuphost ne donne qu'une seule entrée dans la réponse, mais il a donné deux entrées identiques dans la réponse.

Solution

On dirait un problème de résolution DNS. Si cela fonctionne sur d'autres serveurs, essayez de vérifier le fichier /etc/hosts.

Le système interroge d'abord le fichier /etc/hosts puis le serveur DNS.

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer