我试图从IP地址获取主机名,但我总是得到以下错误:
err couln't get hostnames,err lookup 220.220.103.65.in-addr.arpa.: no such host,ip 65.103.220.220
代码:
var hostname string
hostnames, err := net.LookupAddr(c.ip)
if err != nil {
glog.Errorf("err couln't get hostnames,err %v,ip %v", err, c.ip)
} else {
hostname = strings.Join(hostnames, " ")
}
答案 0 :(得分:7)
这不是错误,而是一个简单的声明,即您正在寻找的IP地址没有PTR记录。并不要求互联网上的每台机器都有PTR记录,也不能保证尝试从IP地址中找到名称会成功。
简而言之,您的代码不会总是返回一个名称,而且您无能为力。
无论您使用机器名称是什么,您都不能依赖它。找一个不同的方式。