从Go获取IP地址的域名

时间:2013-05-12 22:49:58

标签: dns go

我正在尝试从IP地址解析主机名,这显然比我想象的更具挑战性。

我尝试过使用一些函数,包括net.LookupHost方法,但所有这些函数似乎只是返回我输入的IP地址。

这是我正在使用的代码:

package main

import (
    "fmt"
    "net"
)

func main() {
    // obtained from ping -c 1 stackoverflow.com, should print "stackoverflow.com"
    addr, err := net.LookupHost("198.252.206.16")
    fmt.Println(addr, err)
}

2 个答案:

答案 0 :(得分:14)

例如,

package main

import (
    "fmt"
    "net"
)

func main() {
    // obtained from ping -c 1 stackoverflow.com, should print "stackoverflow.com"
    addr, err := net.LookupAddr("198.252.206.16")
    fmt.Println(addr, err)
}

输出:

[stackoverflow.com.] <nil>

答案 1 :(得分:4)

您需要LookupAddr而不是LookupHost。