c++ - 如何在 c-ares 中获取 DNS 服务器

标签 c++ c asynchronous dns c-ares

我正在使用 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服务器吗?

最佳答案

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

关于c++ - 如何在 c-ares 中获取 DNS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452189/

相关文章:

C 结构信息隐藏(不透明指针)

asynchronous - 实现可靠异步消息访问的服务版本控制的权衡?

javascript - Console.log() 和 settimeout(fn, 0)

c++ - UE4 C++ 我无法将 Json 嵌套值获取到 TArray

c++ - 使用#pragma 优化的代码的可移植性如何?

c - 使用具有各种跟踪级别的宏

javascript - 如何为 angularjs 站点设置诺顿密封?

c++ - C++ 中 if/else 分支的编译时消除

c++ - Project Euler 18 - C++ 通过引用传递数组

c - 通过 C 中的几个函数传递结构?