2

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

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

我想获取c-ares用来做dns查询的dns server,1.1.1.1还是2.2.2.2, 但是c-ares docs里找不到API~ 有没有人知道怎么获取dns server?

4

1 回答 1

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)) 

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

于 2014-03-17T11:42:58.450 回答