Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melakukan LookupTXT di Golang Tanpa Menukar /etc/resolv.conf?

Bagaimana untuk Melakukan LookupTXT di Golang Tanpa Menukar /etc/resolv.conf?

Patricia Arquette
Lepaskan: 2024-12-03 12:58:11
asal
347 orang telah melayarinya

How to Perform a LookupTXT in Golang Without Changing /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)
        }
    }
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan