如何在c-ares中获取DNS服务器

时间:2014-03-17 10:41:41

标签: c++ c asynchronous dns c-ares

我正在使用c-ares-1.10.0 这是一个用于异步DNS请求的C库,它是一个很好的lib来做名称解析〜 现在我有一个问题,当我使用c-ares~

“/etc/resolv.conf”中有多个名称服务器 如 名称服务器1.1.1.1 nameserver 2.2.2.2

我想获得Dns服务器,其中c-ares用于执行dns查询,1.1.1.1或2.2.2.2, 但我无法在c-ares docs中找到API 有没有人知道如何获得DNS服务器?

1 个答案:

答案 0 :(得分:0)

从ares.h:

使用此功能
CARES_EXTERN int ares_get_servers(ares_channel channel,
                                  struct ares_addr_node **servers);

也可以使用

检索服务器
  int ares_save_options(ares_channel channel, struct ares_options *options, int *optmask)) 

函数,作为struct ares_option的成员,虽然我认为只能包含IPv4服务器地址,而ares_get_servers()可以为您提供IPv4 / IPv6服务器。