Go Standard Library Lookup 関数にサーバー パラメーター化が欠けている理由*
nslookup コマンドにより DNS サーバーを指定できるようになります、nslookup some.com some.dns.server など。ただし、Go 標準ライブラリの dnsclient 関数は、/etc/resolv.conf から構成をロードするだけのようです。
次のような同等の機能を提供する標準ライブラリ関数があるのではないかと疑問に思う人もいるかもしれません。
func LookupTXT(name string, dnsServer string) (txt []string, err error)
回答
Go の標準ライブラリにはそのような機能はありません。明示的な DNS サーバー パラメーターを受け取ります。これは主に、複数の潜在的な DNS サーバーが存在するシナリオでも、名前解決のための一貫性と信頼性の高いインターフェースを提供するという取り組みによるものです。
代わりに、Lookup*** 関数は指定されたデフォルトのリゾルバー構成に依存します。 /etc/resolv.conf にあります。このアプローチにより、全面的に一貫した解決メカニズムが保証され、手動のサーバーパラメータ設定から生じる潜在的な不一致や複雑さが回避されます。
代替ライブラリ
一方、標準ライブラリには、サーバー パラメーターを使用した Lookup*** 関数には、同様の機能を提供するサードパーティ ライブラリがあります。たとえば、github.com/miekg/dns ライブラリは、ターゲット DNS サーバーを指定する機能など、DNS クエリをより詳細に制御できます。
以上がGo の標準ライブラリ `LookupTXT` 関数でカスタム DNS サーバーを指定できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。