windows - spørg LookupTXT funktion i golang

Indlæg af Hanne Mølgaard Plasc

Problem



Hvordan ændrer jeg DNS-serverens IP-adresse?


I situation sætter jeg Google DNS-server i Windows Network Settins.


Og jeg bruger LookupTXT funktion i Golang for at få DNS ​​txt anmodning.
Men LookupTXT parameter er bare forespørgselsstrengen.


Enhver hjælp eller pointers ville blive meget værdsat. Tak!

Bedste reference


Dette er ikke straksforward at gøre ved at bruge golang på dette tidspunkt. Du kan dog bruge en tredjeparts DNS-pakke, der gør det muligt at konfigurere resolveren. Først installerer pakken:


go get github.com/bogdanovich/dns\_resolver


Her er et eksempel ved at bruge det og google resolvers 8.8.8.8 og 8.8.4.4:


package main

import (
    "log"
    "github.com/bogdanovich/dns\_resolver"
)

func main() {
    resolver := dns\_resolver.New([]string{"8.8.8.8", "8.8.4.4"})

    // In case of i/o timeout
    resolver.RetryTimes = 5

    ip, err := resolver.LookupHost("google.com")
    if err != nil {
        log.Fatal(err.Error())
    }
    log.Println(ip)
    // Output [216.58.192.46]
}


Kilde


Der er et åbent problem i golang her, så forhåbentlig bliver det lettere at gøre det med den indbyggede net pakke: https://github.com/golang/go/issues/12503. Det kunne bare være et dokumentationsproblem, som det er muligt nu, kan jeg bare ikke finde et eksempel. [10]


EDIT: faktisk understøtter denne pakke kun lookupHost: https://github.com/bogdanovich/dns\_resolver/blob/master/dns\_resolver.go#L51-L79[11]


Så en PR ville være forpligtet til at tilføje en TXT resolver.


2. Rediger: Jeg lavede en PR med txt opslag her. Dette projekt har ikke været rørt i år, men det kan aldrig blive accepteret. [12]