Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Melakukan LookupTXT di Golang Tanpa Menukar /etc/resolv.conf?
Fungsi LookupTXT di Golang tanpa Mengubah suai /etc/resolv.conf
Pustaka Golang standard tidak menyediakan fungsi langsung yang setara dengan LookupTXT yang membenarkan menentukan pelayan DNS tersuai. Sebabnya ialah klien DNS bergantung pada konfigurasi daripada /etc/resolv.conf untuk maklumat pelayan DNS.
Walau bagaimanapun, terdapat beberapa pilihan untuk mencapai perkara yang anda perlukan sambil mematuhi keperluan untuk tidak mengubah suai /etc/resolv.conf.
Menggunakan DNS Tersuai Penyelesai:
Satu pendekatan ialah menggunakan perpustakaan penyelesai DNS tersuai yang menyokong penetapan pelayan DNS tertentu. Contohnya, pustaka github.com/miekg/dns menyediakan fleksibiliti untuk menetapkan IP pelayan tersuai dalam objek dns.Client. Kod berikut menunjukkan cara menggunakan pustaka ini:
import ( "log" "net" "github.com/miekg/dns" ) func main() { target := "microsoft.com" server := "8.8.8.8" // Create a new DNS client with a custom server. c := dns.Client{Net: "udp", Server: server} // Build a request message. m := dns.Msg{} m.SetQuestion(target+".", dns.TypeTXT) // Exchange the request and receive the response. r, _, err := c.Exchange(&m, server+":53") if err != nil { log.Fatal(err) } // Process the response. if len(r.Answer) == 0 { log.Fatal("No results") } for _, ans := range r.Answer { TXTrecord := ans.(*dns.TXT) for _, txt := range TXTrecord.Txt { log.Println(txt) } } }
Atas ialah kandungan terperinci Bagaimana untuk Melakukan LookupTXT di Golang Tanpa Menukar /etc/resolv.conf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!