>  기사  >  백엔드 개발  >  golang 쿼리 도메인 이름 IP

golang 쿼리 도메인 이름 IP

PHPz
PHPz원래의
2023-05-13 10:44:37916검색

네트워크 프로그래밍에서 도메인 이름의 IP 주소를 쿼리해야 하는 경우가 있습니다. Golang 표준 라이브러리는 ResolveIPAddr 함수를 사용하여 지정된 도메인 이름의 IP 주소를 쿼리할 수 있는 넷 패키지를 제공합니다. 다음은 Golang을 사용하여 도메인 이름의 IP를 쿼리하는 방법을 자세히 소개합니다.

  1. 넷 패키지 가져오기

먼저 넷 패키지를 가져와야 합니다. 이 패키지는 일련의 네트워크 운영 기능과 유형을 제공합니다. 이 패키지를 사용하면 ResolveIPAddr 함수를 사용하여 도메인 이름의 IP 주소를 쿼리할 수 있습니다.

import "net"
  1. 도메인 이름 IP 쿼리

도메인 이름 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() 함수를 사용하여 쿼리 결과를 문자열 형식으로 인쇄합니다.

  1. 도메인 이름 IPv6 쿼리

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"로 변환하고 두 번째 매개변수를 매개변수 중간으로 사용합니다.

  1. Summary

net 패키지는 네트워크 프로그래밍에 필요한 많은 기능과 유형을 제공하며 ResolveIPAddr 기능을 사용하여 도메인 이름의 IP 주소를 쿼리할 수 있습니다. 이를 사용할 때 네트워크 유형과 쿼리 도메인 이름의 올바른 형식에 주의해야 합니다.

위 내용은 golang 쿼리 도메인 이름 IP의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.