Rumah > pembangunan bahagian belakang > Golang > golang pertanyaan nama domain ip

golang pertanyaan nama domain ip

PHPz
Lepaskan: 2023-05-13 10:44:37
asal
944 orang telah melayarinya

Dalam pengaturcaraan rangkaian, kadangkala anda perlu menanyakan alamat IP nama domain. Pustaka standard Golang menyediakan pakej bersih, di mana fungsi ResolveIPAddr boleh digunakan untuk menanyakan alamat IP bagi nama domain yang ditentukan. Berikut akan memperkenalkan secara terperinci cara menggunakan Golang untuk menanyakan IP nama domain.

  1. Import pakej bersih

Pertama, anda perlu mengimport pakej bersih, yang menyediakan satu siri fungsi dan jenis operasi rangkaian. Dengan pakej ini, kita boleh menggunakan fungsi ResolveIPAddr untuk menanyakan alamat IP nama domain.

import "net"
Salin selepas log masuk
  1. Soal IP nama domain

Fungsi untuk menanyakan alamat IP nama domain ialah ResolveIPAddr, dan prototaipnya ialah:

func ResolveIPAddr(network, address string) (*IPAddr, error)
Salin selepas log masuk

Antaranya , parameter rangkaian tidak boleh kosong , yang menentukan jenis rangkaian untuk ditanya, yang boleh menjadi "ip4" atau "ip6", sepadan dengan alamat IPv4 dan alamat IPv6. Parameter alamat ialah nama domain yang ingin ditanya.

Kodnya adalah seperti berikut:

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

Apa yang ditanya di sini ialah alamat IPv4 nama domain www.google.com. Kod di atas mula-mula memanggil fungsi ResolveIPAddr untuk menanyakan alamat IP nama domain dan menyimpan hasilnya dalam pembolehubah ip. Jika ralat berlaku, pengendalian ralat diperlukan. Akhir sekali, gunakan fungsi ip.String() untuk mencetak hasil pertanyaan dalam bentuk rentetan.

  1. Pertanyaan nama domain IPv6

Jika anda perlu menanyakan alamat IPv6, anda boleh mengubah suai parameter pertama fungsi pertanyaan kepada "ip6" dan mengubah suai nama domain kepada bentuk alamat IPv6.

Sebagai contoh, tanya kod alamat IPv6 ipv6.google.com seperti berikut:

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

Apabila membuat pertanyaan di sini, tukar alamat IPv4 172.217.26.238 kepada alamat IPv6 "::ffff: 172.217.26.238" dan Diluluskan sebagai parameter kedua.

  1. Ringkasan

pakej bersih menyediakan banyak fungsi dan jenis yang diperlukan untuk pengaturcaraan rangkaian, dan fungsi ResolveIPAddr boleh digunakan untuk menanyakan alamat IP nama domain. Apabila menggunakannya, anda perlu memberi perhatian kepada jenis rangkaian dan format nama domain pertanyaan yang betul.

Atas ialah kandungan terperinci golang pertanyaan nama domain ip. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan