如何在c区获得DNS服务器

how to get DNS server in c-ares

本文关键字:DNS 服务器      更新时间:2023-10-16

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

在"/etc/resolv.conf"中有多个名称服务器如命名服务器1.1.1.1命名服务器2.2.2.2

我想获得c-ares用来做Dns查询的Dns服务器,1.1.1.1或2.2.2.2,但是我在c-ares文档中找不到API ~有人知道如何获得dns服务器吗?

从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服务器。