Maison > Article > développement back-end > Golang requête nom de domaine ip
En programmation réseau, vous devez parfois interroger l'adresse IP d'un nom de domaine. La bibliothèque standard Golang fournit le package net, dans lequel la fonction ResolveIPAddr peut être utilisée pour interroger l'adresse IP d'un nom de domaine spécifié. Ce qui suit présentera en détail comment utiliser Golang pour interroger l'adresse IP d'un nom de domaine.
Tout d'abord, vous devez importer le package net. Ce package fournit une série de fonctions et de types d'exploitation réseau. Avec ce package, nous pouvons utiliser la fonction ResolveIPAddr pour interroger l'adresse IP du nom de domaine.
import "net"
La fonction pour interroger l'adresse IP du nom de domaine est ResolveIPAddr, son prototype est :
func ResolveIPAddr(network, address string) (*IPAddr, error)
Parmi eux, le paramètre réseau ne peut pas être vide, il précise le type de réseau de requête, qui peut être "ip4" ou "ip6", correspondant à l'adresse IPv4 et à l'adresse IPv6. Le paramètre d'adresse est le nom de domaine à interroger.
Le code est le suivant :
ip, err := net.ResolveIPAddr("ip4", "www.google.com") if err != nil { fmt.Println("Resolve error:", err) return } fmt.Println(ip.String())
Ce qui est interrogé ici, c'est l'adresse IPv4 du nom de domaine www.google.com. Le code ci-dessus appelle d'abord la fonction ResolveIPAddr pour interroger l'adresse IP du nom de domaine et enregistre le résultat dans la variable ip. Si une erreur se produit, une gestion des erreurs est requise. Enfin, utilisez la fonction ip.String() pour imprimer les résultats de la requête sous forme de chaîne.
Si vous devez interroger l'adresse IPv6, vous pouvez modifier le premier paramètre de la fonction de requête en "ip6" et modifier le nom de domaine sous la forme d'une adresse IPv6.
Par exemple, interrogez le code d'adresse IPv6 de ipv6.google.com comme suit :
ip, err := net.ResolveIPAddr("ip6", "::ffff:172.217.26.238") if err != nil { fmt.Println("Resolve error:", err) return } fmt.Println(ip.String())
Lors de la requête ici, convertissez l'adresse IPv4 172.217.26.238 en adresse IPv6 "::ffff:172.217.26.238" et transmettez le deuxième paramètre comme paramètre intermédiaire. Le package
net fournit de nombreuses fonctions et types requis pour la programmation réseau, et la fonction ResolveIPAddr peut être utilisée pour interroger l'adresse IP d'un nom de domaine. Lorsque vous l'utilisez, vous devez faire attention au type de réseau et au format correct du nom de domaine de la requête.
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!