Функция net.LookupNS
Функция net.LookupNS выполняет DNS-запрос к системному резолверу
для получения NS-записей указанного домена. В единственный параметр
функция принимает строку с именем домена (например, "example.com").
Возвращает она два значения: слайс структур типа *net.NS
и ошибку error. В случае успешного выполнения запроса
слайс будет содержать одну или несколько NS-записей, каждая из
которых имеет поле Host с именем сервера имен.
Если домен не существует или не имеет NS-записей, функция вернет
ошибку типа *net.DNSError.
Синтаксис
nsRecords, err := net.LookupNS(domain)
Пример
Давайте выполним запрос NS-записей для домена "google.com":
package main
import (
"fmt"
"net"
)
func main() {
nsRecords, err := net.LookupNS("google.com")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
for _, ns := range nsRecords {
fmt.Printf("NS: %s\n", ns.Host)
}
}
Результат выполнения кода (может отличаться в зависимости от DNS-сервера):
"NS: ns1.google.com."
"NS: ns2.google.com."
"NS: ns3.google.com."
"NS: ns4.google.com."
Пример
Теперь проверим ситуацию с несуществующим доменом:
package main
import (
"fmt"
"net"
)
func main() {
nsRecords, err := net.LookupNS("nonexistent-domain-12345.xyz")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
for _, ns := range nsRecords {
fmt.Printf("NS: %s\n", ns.Host)
}
}
Результат выполнения кода:
"Error: lookup nonexistent-domain-12345.xyz: no such host"
Смотрите также
-
функцию
net.LookupHost,
которая возвращает IP-адреса хоста -
функцию
net.LookupMX,
которая возвращает MX-записи домена -
функцию
net.LookupTXT,
которая возвращает TXT-записи домена -
функцию
net.LookupCNAME,
которая возвращает каноническое имя хоста