DNSオプションでCURLを実行中に問題が発生しました。

DNSオプションでCURLを実行中に問題が発生しました。

私はしばらく非プロダクションWebサービスをデバッグするためにカールを使用してきました。

そのオプションを使用すると、--dns-servers常にこの機能が見つからないというエラーメッセージが表示されます。

curl --dns-servers _MY_DNS_SERVER_IP_ https://_MY_DOMAINS_
curl: (4) A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision.

私のカールバージョンは7.47.0で、Ubuntu 16.04デスクトップで動作します。

カールのマニュアルページで(--dns-serversオプションについて):

This option requires that libcurl was built with a resolver backend that supports this operation.
The c-ares backend is the only such one.  (Added in 7.33.0)

インストールする必要がある他のカールパッケージはありますか?それとも、いくつかのオプションの依存関係がありませんか?

問題が何であるかについてのヒントはありますか?

ベストアンサー1

DebianとUbuntu用に構築されたバイナリにはcurllibc-aresのサポートは含まれていません。その図書館のせいです。戻ることができませんA(IPv4)およびAAAA(IPv6)クエリはどちらも1つの応答であるため、接続しようとしているホストがIPv6を使用していてIPv6サポートがない場合、接続は失敗します。これはかなり大きな欠陥であるため(多くのオープンWi-FiアクセスポイントにIPv6がないため)、DebianとUbuntuはこれをコンパイルしました。

--resolve使用するIPアドレスを手動で指定して問題を解決することもできます。それ以外の場合は、この機能を使用する必要がある場合は、独自のカールをコンパイルする必要があります。

おすすめ記事