Maison  >  Article  >  développement back-end  >  Golang requête nom de domaine ip

Golang requête nom de domaine ip

PHPz
PHPzoriginal
2023-05-13 10:44:37922parcourir

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.

  1. Importer le package net

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"
  1. Requête du nom de domaine IP

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.

  1. Requête du nom de domaine IPv6

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

  1. Summary

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn