네트워크 프로그래밍에서 도메인 이름의 IP 주소를 쿼리해야 하는 경우가 있습니다. Golang 표준 라이브러리는 ResolveIPAddr 함수를 사용하여 지정된 도메인 이름의 IP 주소를 쿼리할 수 있는 넷 패키지를 제공합니다. 다음은 Golang을 사용하여 도메인 이름의 IP를 쿼리하는 방법을 자세히 소개합니다.
먼저 넷 패키지를 가져와야 합니다. 이 패키지는 일련의 네트워크 운영 기능과 유형을 제공합니다. 이 패키지를 사용하면 ResolveIPAddr 함수를 사용하여 도메인 이름의 IP 주소를 쿼리할 수 있습니다.
import "net"
도메인 이름 IP 주소를 쿼리하는 함수는 ResolveIPAddr이고 프로토타입은 다음과 같습니다.
func ResolveIPAddr(network, address string) (*IPAddr, error)
그중 네트워크 매개변수는 비워둘 수 없으며 쿼리의 네트워크 유형을 지정합니다. IPv4 주소 및 IPv6 주소에 해당하는 "ip4" 또는 "ip6 ". 주소 매개변수는 쿼리할 도메인 이름입니다.
코드는 다음과 같습니다.
ip, err := net.ResolveIPAddr("ip4", "www.google.com") if err != nil { fmt.Println("Resolve error:", err) return } fmt.Println(ip.String())
여기서 쿼리되는 것은 www.google.com 도메인 이름의 IPv4 주소입니다. 위 코드는 먼저 ResolveIPAddr 함수를 호출하여 도메인 이름의 IP 주소를 쿼리하고 결과를 ip 변수에 저장합니다. 오류가 발생하면 오류 처리가 필요합니다. 마지막으로 ip.String() 함수를 사용하여 쿼리 결과를 문자열 형식으로 인쇄합니다.
IPv6 주소를 쿼리해야 하는 경우 쿼리 함수의 첫 번째 매개 변수를 "ip6"으로 수정하고 도메인 이름을 IPv6 주소 형식으로 수정하면 됩니다.
예를 들어 ipv6.google.com의 IPv6 주소 코드를 다음과 같이 쿼리하세요.
ip, err := net.ResolveIPAddr("ip6", "::ffff:172.217.26.238") if err != nil { fmt.Println("Resolve error:", err) return } fmt.Println(ip.String())
여기서 쿼리할 때 IPv4 주소 172.217.26.238을 IPv6 주소 "::ffff:172.217.26.238"로 변환하고 두 번째 매개변수를 매개변수 중간으로 사용합니다.
net 패키지는 네트워크 프로그래밍에 필요한 많은 기능과 유형을 제공하며 ResolveIPAddr 기능을 사용하여 도메인 이름의 IP 주소를 쿼리할 수 있습니다. 이를 사용할 때 네트워크 유형과 쿼리 도메인 이름의 올바른 형식에 주의해야 합니다.
위 내용은 golang 쿼리 도메인 이름 IP의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!