使用C++,我想获得由主机用于三种操作系统的DNS服务器:OS X,FreeBSD和Windows。我想确认以下方法确实是最佳实践,如果不是,则是一种更好的选择。
GetNetworkParams
/etc/resolv.conf
在此先感谢您的帮助!
最佳答案
在许多unix系统(Linux,bsd)上,您可以使用解析器功能来获取DNS服务器列表:man 3 resolver。
调用res_init()
后,将解析程序结构初始化。解析器结构存储您需要的所有信息。 DNS服务器列表存储在结构条目nsaddr_list
中。
解析程序结构的确切规范很可能在resolv.h
中找到。
使用解析程序功能是获取DNS服务器列表的首选方法。 res_init()
很可能会使用/etc/resolv.conf
中找到的信息填充解析器结构。
另请参阅Use of resolv.h
关于c++ - 以编程方式获取主机的DNS服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2916675/