以编程方式获取主机的DNS服务器

Nic*_*lko 10 c++ dns cross-platform

使用C++,我想获得主机用于三个操作系统的DNS服务器:OS X,FreeBSD和Windows.我想确认以下方法确实是最佳实践,如果不是,那么这是一种更好的选择.

在此先感谢您的帮助!

jok*_*oke 9

在许多unix系统(linux,bsd)上,您可以使用解析器函数来获取DNS服务器列表:man 3解析器.

调用res_init()解析器结构后初始化.解析器结构存储您需要的所有信息.DNS服务器列表存储在struct条目中nsaddr_list.

旋转变压器结构的确切规格最有可能在resolv.h.

使用解析程序功能是获取DNS服务器列表的首选方法.res_init()最有可能用解决方案中的信息填充解析器结构/etc/resolv.conf.

另见resolv.h的使用