Функция net.LookupTXT
Функция net.LookupTXT выполняет поиск TXT-записей DNS для переданного имени хоста. В первый параметр передается доменное имя в виде строки. Функция возвращает слайс строк []string с найденными TXT-записями и ошибку error, если запрос не удался. TXT-записи часто используются для хранения различных текстовых данных, таких как SPF-записи, ключи проверки домена и другие метаданные.
Синтаксис
func LookupTXT(host string) ([]string, error)
Пример
Давайте выполним базовый запрос TXT-записей для домена "example.com":
package main
import (
"fmt"
"net"
)
func main() {
txtRecords, err := net.LookupTXT("example.com")
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(txtRecords)
}
Результат выполнения кода (записи могут отличаться):
["v=spf1 -all"]
Пример
Давайте получим все TXT-записи и выведем каждую из них по отдельности:
package main
import (
"fmt"
"net"
)
func main() {
txtRecords, err := net.LookupTXT("google.com")
if err != nil {
fmt.Println("Error:", err)
return
}
for i, record := range txtRecords {
fmt.Printf("Record %d: %s\n", i+1, record)
}
}
Результат выполнения кода:
"Record 1: v=spf1 include:_spf.google.com ~all"
"Record 2: google-site-verification=..."
Пример
Попробуем обратиться к несуществующему домену и обработаем ошибку:
package main
import (
"fmt"
"net"
)
func main() {
txtRecords, err := net.LookupTXT("nonexistent.domain.xyz")
if err != nil {
fmt.Println("Error occurred:", err)
return
}
fmt.Println("Records:", txtRecords)
}
Результат выполнения кода:
"Error occurred: lookup nonexistent.domain.xyz on 8.8.8.8:53: no such host"
Смотрите также
-
функцию
net.LookupMX,
которая возвращает MX-записи для домена -
функцию
net.LookupNS,
которая возвращает NS-записи для домена -
функцию
net.LookupCNAME,
которая возвращает каноническое имя хоста -
функцию
net.LookupAddr,
которая выполняет обратный поиск по IP-адресу