关于go dns解析的一些说明参照另一篇文章http://blog.csdn.net/mumumuwudi/article/details/48200505
go dns 解析 源码在go/src/net/dnsclient_unix.go, lookupHost()通过向本地dns server发送请求,获得IP和
域名的对应关系然后返回,函数调用关系如下:
// ---------------------------------------------------
// lookupHost()
//
// ->goLookupHostOrder()
//
// ---->goLookupIPOrder()
//
// -------->tryOneName()
//
// ----------->exchange()
// ---------------------------------------------------
func exchange(server, name string, qtype uint16, timeout time.Duration) (*dnsMsg, error) {
d := Dialer{Timeout: timeout}
out := dnsMsg{
dnsMsgHdr: dnsMsgHdr{
recursion_desired: true,
},
question: []dnsQuestion{
{name, qtype, dnsClassINET},
},
}
for _, networ