如何在Go中查找NAPTR记录?

时间:2013-12-22 16:32:46

标签: dns go

我正在尝试查询Go中的NAPTR条记录。看来“网络”库中提供的DNS基础知识无法让我访问。因此,我正在考虑使用(see docs),但找不到任何基本示例。是否有关于替代方案的建议或有关如何查询NAPTR的一些见解?

1 个答案:

答案 0 :(得分:5)

AFAIK,你必须为网络库自己动手。使用miekg/dns,我会想到这样的事情:

m := new(dns.Msg)
m.SetQuestion("statdns.net.", dns.TypeNAPTR)
ret, err := dns.Exchange(m, "8.8.8.8:53")

ret开始,您应该拥有Answer成员[]RR。我预先假定您可以访问:

if t, ok := ret.Answer[0].(*dns.NAPTR); ok {
    // do something with t.Order, t.Preference, etc.
}

可用成员在NAPTR type

中定义 警告:我离开我的工作站一段时间了,不能尝试这个......