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

  • OS X :already answereddeveloper.apple.com
  • 上的更新链接
  • Windows : GetNetworkParams
  • FreeBSD :/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/

    10-11 00:11