я использую с-ар-1.10.0
которая является C-библиотекой для асинхронных DNS-запросов, это хорошая библиотека для разрешения имен ~
Теперь у меня есть вопрос, когда я использую c-ares ~
в «/etc/resolv.conf»such as есть несколько серверов имен
nameserver 1.1.1.1
nameserver 2.2.2.2
Я хочу получить DNS-сервер, который c-ares используется для выполнения DNS-запроса, 1.1.1.1 или 2.2.2.2 ,
Но я не могу найти API в c-ares docs ~
Кто-нибудь знает, как получить 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.
Других решений пока нет …