定制 curl 支持 –dns-servers 也就是 c-ares 异步 DNS 解析

操作系统默认安装的 curl 是不支持指定自定义的 DNS 服务器的。我们在一台有域名过滤的服务器上, 需要跑 curl ,要绕过系统默认的 DNS 解析器,所以,需要在命令行下指定自己的 DNS 解析服务器,这个需要 c-ares 支持。

# ./configure --enable-ares --enable-https --with-nghttp2  --with-librtmp=/usr/lib/x86_64-linux-gnu --with-gssapi --with-zlib --with-libssh2
如果不想删除原先的 curl 包的话,运行一下:
# ln -s /usr/local/lib/libcurl.so.4.6.0 /usr/lib/x86_64-linux-gnu/libcurl.so.4

跑 configure 之前,当然要先安装相关的 dev 包:
libnghttp2-dev, libc-ares-dev, libssh2-1-dev, librtmp-dev

接下来我们就可以用 curl 来分析网页的 title 来大概知道某个域名是做什么的:

# /usr/local/bin/curl -sS --dns-servers "114.114.114.114" http://www.tuchong.com/|xmllint --html --nowarning --xpath '//title' - 2>/dev/null|tr -d 'a-z<>'

作者: 甬洁网络

--移动互联网&物联网技术提供商