/etc/resolv.conf를 수정하지 않고 Golang에서 LookupTXT 함수
표준 Golang 라이브러리는 LookupTXT와 동등한 직접적인 기능을 제공하지 않습니다. 사용자 정의 DNS 서버를 지정할 수 있습니다. 그 이유는 DNS 클라이언트가 DNS 서버 정보에 대해 /etc/resolv.conf의 구성에 의존하기 때문입니다.
그러나 수정하지 않는다는 요구 사항을 준수하면서 필요한 것을 달성할 수 있는 몇 가지 옵션이 있습니다. /etc/resolv.conf.
사용자 정의 DNS 확인자 사용:
하나 접근 방식은 특정 DNS 서버 지정을 지원하는 사용자 지정 DNS 확인자 라이브러리를 사용하는 것입니다. 예를 들어, github.com/miekg/dns 라이브러리는 dns.Client 객체에 사용자 정의 서버 IP를 설정할 수 있는 유연성을 제공합니다. 다음 코드는 이 라이브러리를 사용하는 방법을 보여줍니다.
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) } } }
위 내용은 /etc/resolv.conf를 변경하지 않고 Golang에서 LookupTXT를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!