如何判断安装的libcurl是否启用了异步DNS?

问题描述 投票:2回答:2

我想尝试使用Tornado的代理功能。为此,文档告诉我,我需要使用异步DNS解析器编译libcurl。

我有一个通过yum(7.29)安装的libcurl版本,但我无法弄清楚如何判断它是否是使用异步DNS解析构建的。

如果没有,有没有办法启用它,还是我必须从头开始构建它?似乎后者是迄今为止我能找到的唯一选择,希望我错过了一些东西。

谢谢!

proxy dns tornado libcurl
2个回答
2
投票

调用curl_version_info()并检查返回的struct及其“features”字段:

   int features;             /* bitmask, see below */

如果该字段设置了CURL_VERSION_ASYNCHDNS位,则您知道此libcurl构建异步解析名称。使用任一线程或它构建为使用c-ares。

如果未设置该位,则构建它以使用同步名称解析。


6
投票

或者,如果您安装了curl的命令行版本,则可以运行curl --version。在高山跑apk add curl上安装卷曲

示例输出:

root@ae5870274e10:/mnt/src# curl --version
curl 7.38.0 (x86_64-pc-linux-gnu) libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API SPNEGO NTLM NTLM_WB SSL libz TLS-SRP

并寻找AsynchDNS关键字

© www.soinside.com 2019 - 2024. All rights reserved.