Heim  >  Artikel  >  Backend-Entwicklung  >  Golang-Abfrage des Domainnamens IP

Golang-Abfrage des Domainnamens IP

PHPz
PHPzOriginal
2023-05-13 10:44:37907Durchsuche

Bei der Netzwerkprogrammierung müssen Sie manchmal die IP-Adresse eines Domänennamens abfragen. Die Golang-Standardbibliothek stellt das Net-Paket bereit, in dem mit der ResolveIPAddr-Funktion die IP-Adresse eines angegebenen Domänennamens abgefragt werden kann. Im Folgenden wird detailliert beschrieben, wie Sie mit Golang die IP eines Domänennamens abfragen.

  1. Importieren Sie das Netzpaket

Zuerst müssen Sie das Netzpaket importieren. Dieses Paket bietet eine Reihe von Netzwerkbetriebsfunktionen und -typen. Mit diesem Paket können wir die Funktion ResolveIPAddr verwenden, um die IP-Adresse des Domänennamens abzufragen.

import "net"
  1. Abfrage der IP-Adresse des Domänennamens

Die Funktion zum Abfragen der IP-Adresse des Domänennamens ist ResolveIPAddr, ihr Prototyp ist:

func ResolveIPAddr(network, address string) (*IPAddr, error)

Unter diesen darf der Netzwerkparameter nicht leer sein, er gibt den Netzwerktyp der Abfrage an, der sein kann „ip4“ oder „ip6“, entsprechend der IPv4-Adresse und der IPv6-Adresse. Der Adressparameter ist der abzufragende Domänenname.

Der Code lautet wie folgt:

ip, err := net.ResolveIPAddr("ip4", "www.google.com")
if err != nil {
    fmt.Println("Resolve error:", err)
    return
}
fmt.Println(ip.String())

Was hier abgefragt wird, ist die IPv4-Adresse des www.google.com-Domainnamens. Der obige Code ruft zunächst die Funktion ResolveIPAddr auf, um die IP-Adresse des Domänennamens abzufragen, und speichert das Ergebnis in der IP-Variablen. Wenn ein Fehler auftritt, ist eine Fehlerbehandlung erforderlich. Verwenden Sie abschließend die Funktion ip.String(), um die Abfrageergebnisse in Stringform auszudrucken.

  1. Domänennamen IPv6 abfragen

Wenn Sie die IPv6-Adresse abfragen müssen, können Sie den ersten Parameter der Abfragefunktion in „ip6“ ändern und den Domänennamen in die Form einer IPv6-Adresse ändern.

Fragen Sie beispielsweise den IPv6-Adresscode von ipv6.google.com wie folgt ab:

ip, err := net.ResolveIPAddr("ip6", "::ffff:172.217.26.238")
if err != nil {
    fmt.Println("Resolve error:", err)
    return
}
fmt.Println(ip.String())

Bei der Abfrage hier die IPv4-Adresse 172.217.26.238 in die IPv6-Adresse „::ffff:172.217.26.238“ umwandeln und übergeben zweiter Parameter als Parameter Mitte.

  1. Zusammenfassung

net-Paket bietet viele Funktionen und Typen, die für die Netzwerkprogrammierung erforderlich sind, und die ResolveIPAddr-Funktion kann zum Abfragen der IP-Adresse eines Domänennamens verwendet werden. Bei der Verwendung müssen Sie auf den Netzwerktyp und das korrekte Format des Abfragedomänennamens achten.

Das obige ist der detaillierte Inhalt vonGolang-Abfrage des Domainnamens IP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn