我正在寻找一种方法(在 Go 中)来获取给定主机的 CNAME(如果有),无论该主机的 DNS 解析是否失败。
主机的 DNS 解析可能会失败并产生NXDOMAIN,但有问题的主机可能仍然有 CNAME 记录。在撰写此问题时,tst1crmapps.starbucks.com有这样一个主机的示例:
$ dig tst1crmapps.starbucks.com | grep -E 'NXDOMAIN|CNAME'
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 50444
tst1crmapps.starbucks.com. 86400 IN CNAME bigip-tst1crmapps-starbucks.oracle.com.
(在 macOS 上运行)
该函数net.LookupCNAME
似乎正合我意,但如果主机的 DNS 解析失败,它无法返回 CNAME。跑步
package main
import (
"log"
"net"
)
func main() {
cname, err := net.LookupCNAME("tst1crmapps.starbucks.com")
if err != nil {
log.Fatal(err)
}
log.Println(cname)
}
产量
yyyy/MM/dd hh:mm:ss lookup tst1crmapps.starbucks.com: no such host
我是不是误会了net.LookupCNAME?或者我使用了错误的功能?
ABOUTYOU
相关分类