Функция net.LookupHost
Функция net.LookupHost выполняет DNS-запрос для указанного имени хоста
и возвращает список его IP-адресов. В первый параметр передается имя хоста
в виде строки (например, "example.com" или "localhost"), а результатом работы
являются срез строк с IP-адресами и ошибка, которая может возникнуть
при выполнении запроса.
Синтаксис
net.LookupHost(host)
Пример
Давайте выполним поиск IP-адресов для хоста "google.com":
package main
import (
"fmt"
"net"
)
func main() {
ips, err := net.LookupHost("google.com")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(ips)
}
Результат выполнения кода:
["142.250.185.78" "2a00:1450:4010:c1b::64"]
Пример
Попробуем получить IP-адреса для локального хоста:
package main
import (
"fmt"
"net"
)
func main() {
ips, err := net.LookupHost("localhost")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(ips)
}
Результат выполнения кода:
["127.0.0.1" "::1"]
Пример
Обработаем случай, когда хост не существует:
package main
import (
"fmt"
"net"
)
func main() {
ips, err := net.LookupHost("nonexistent.example.com")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(ips)
}
Результат выполнения кода:
"lookup nonexistent.example.com: no such host"
Смотрите также
-
функцию
net.LookupIP,
которая возвращает IP-адреса в виде структурыnet.IP -
функцию
net.LookupAddr,
которая выполняет обратный поиск имени хоста по IP-адресу -
функцию
net.LookupCNAME,
которая возвращает каноническое имя хоста -
функцию
net.SplitHostPort,
которая разделяет строку адреса на хост и порт