Heim >Backend-Entwicklung >Golang >Wie lege ich einen benutzerdefinierten DNS-Server für DNS-Suchen in Go fest?
Lookup-Funktionsalternativen in Golang für benutzerdefinierte DNS-Serverspezifikation
Die Go-Standardbibliothek bietet derzeit keine ähnliche Funktion wie LookupTXT(name, dnsServer), mit dem Benutzer bei der Durchführung von DNS-Suchen einen benutzerdefinierten DNS-Server angeben können. Die Suche*. Die in der Standardbibliothek verfügbaren Funktionen basieren ausschließlich auf der in /etc/resolv.conf bereitgestellten Konfiguration.
Wenn Sie die Flexibilität benötigen, einen benutzerdefinierten DNS-Server anzugeben, sollten Sie die Verwendung von Bibliotheken von Drittanbietern wie github.com/ in Betracht ziehen. miekg/dns. Diese Bibliothek bietet einen einfachen und umfassenden Satz von Funktionen zum Durchführen von DNS-Suchen, einschließlich der Möglichkeit, einen benutzerdefinierten DNS-Server anzugeben. Nachfolgend finden Sie ein Beispiel für die Verwendung von github.com/miekg/dns zur Durchführung einer DNS-Suche mit einem benutzerdefinierten DNS-Server:
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) } }
Das obige ist der detaillierte Inhalt vonWie lege ich einen benutzerdefinierten DNS-Server für DNS-Suchen in Go fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!