[英]how to get DNS server in c-ares
I'm using c-ares-1.10.0 which is a C library for asynchronous DNS requests ,it's a good lib to do name resolves~ Now I have a question when I use c-ares~ 我正在使用c-ares-1.10.0 ,这是一个用于异步DNS请求的C库,它是做好名称解析的好库〜现在我在使用c-ares时遇到一个问题〜
there is multi nameserver in "/etc/resolv.conf" such as nameserver 1.1.1.1 nameserver 2.2.2.2 “ /etc/resolv.conf”中有多个名称服务器,例如名称服务器1.1.1.1名称服务器2.2.2.2
I want to get Dns server which c-ares used to do dns query,1.1.1.1 or 2.2.2.2, But I can't find the API in c-ares docs~ Does any one know how to get dns server? 我想获得使用c-ares进行dns查询的Dns服务器(1.1.1.1或2.2.2.2),但是我无法在c-ares文档中找到API〜有人知道如何获取dns服务器吗?
Use this function from ares.h: 从ares.h使用此功能:
CARES_EXTERN int ares_get_servers(ares_channel channel,
struct ares_addr_node **servers);
The servers can also be retrieved with the 也可以使用
int ares_save_options(ares_channel channel, struct ares_options *options, int *optmask))
function , as members of struct ares_option
, though I believe that can only contain IPv4 server addresses, while ares_get_servers() can provide you with both IPv4/IPv6 servers. function,作为
struct ares_option
成员,尽管我认为只能包含IPv4服务器地址,而ares_get_servers()可以为您提供两个IPv4 / IPv6服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.