Maison > développement back-end > Golang > Comment spécifier un serveur DNS personnalisé pour les recherches DNS dans Go ?

Comment spécifier un serveur DNS personnalisé pour les recherches DNS dans Go ?

Mary-Kate Olsen
Libérer: 2024-12-05 05:06:10
original
821 Les gens l'ont consulté

How to Specify a Custom DNS Server for DNS Lookups in Go?

Alternatives à la fonction de recherche dans Golang pour la spécification du serveur DNS personnalisé

La bibliothèque standard Go n'offre pas actuellement de fonction similaire à LookupTXT(name, dnsServer) qui permet aux utilisateurs de spécifier un serveur DNS personnalisé lors de l'exécution de recherches DNS. La recherche*. les fonctions disponibles dans la bibliothèque standard reposent uniquement sur la configuration fournie dans /etc/resolv.conf.

Si vous avez besoin de la flexibilité de spécifier un serveur DNS personnalisé, envisagez d'utiliser des bibliothèques tierces telles que github.com/ miekg/dns. Cette bibliothèque fournit un ensemble léger et complet de fonctions pour effectuer des recherches DNS, y compris la possibilité de spécifier un serveur DNS personnalisé. Un exemple d'utilisation de github.com/miekg/dns pour effectuer une recherche DNS avec un serveur DNS personnalisé est fourni ci-dessous :

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)
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal