如何在Go中查找NAPTR记录?

jsg*_*cke 6 dns go

我试图NAPTR在Go中查询记录.看来DNS"网络"库中提供的基础知识不会让我访问.因此我正在考虑使用(参见文档),但找不到任何基本的例子.是否有关于替代方案的建议或有关如何查询的一些见解NAPTR

bis*_*hop 5

AFAIK,您将不得不自己为网络图书馆服务。使用miekg / dns,我会这样想:

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

从中ret,您应该拥有的Answer成员[]RR。我假设您可以像这样访问:

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

可用成员在NAPTR类型中定义。

请注意:我离开了我的工作站一段时间,无法尝试...