Golang 中用于自定义 DNS 服务器规范的查找函数替代
Go 标准库目前不提供类似于 LookupTXT(name, dnsServer),允许用户在执行 DNS 查找时指定自定义 DNS 服务器。查找*。标准库中可用的功能仅依赖于 /etc/resolv.conf 中提供的配置。
如果您需要灵活地指定自定义 DNS 服务器,请考虑使用第三方库,例如 github.com/米克/DNS。该库提供了一组轻量级且全面的函数来执行 DNS 查找,包括指定自定义 DNS 服务器的功能。下面提供了使用 github.com/miekg/dns 通过自定义 DNS 服务器执行 DNS 查找的示例:
import ( "log" "github.com/miekg/dns" ) func main() { target := "microsoft.com" server := "8.8.8.8" c := dns.Client{} m := dns.Msg{} m.SetQuestion(target+".", dns.TypeA) r, t, err := c.Exchange(&m, server+":53") if err != nil { log.Fatal(err) } log.Printf("Took %v", t) if len(r.Answer) == 0 { log.Fatal("No results") } for _, ans := range r.Answer { Arecord := ans.(*dns.A) log.Printf("%s", Arecord.A) } }
以上是如何在 Go 中指定自定义 DNS 服务器进行 DNS 查找?的详细内容。更多信息请关注PHP中文网其他相关文章!