【问题标题】:how to get DNS server in c-ares如何在 c-ares 中获取 DNS 服务器
【发布时间】:2014-04-22 12:42:52
【问题描述】:

我正在使用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 docs里找不到API~ 有谁知道如何获取dns服务器吗?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • Ths,但是函数“ares_get_servers”获取所有服务器,我想在调用 ares_gethostbyname 时获取“c-ares”进行查询的名称服务器
    • @user3282867 好的。您无法获得该信息。
    猜你喜欢
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2013-05-18
    相关资源
    最近更新 更多