是否可以在C ++中以编程方式查询不同的DNS名称服务器,忽略系统设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以在C ++中以编程方式查询不同的DNS名称服务器,忽略系统设置?相关的知识,希望对你有一定的参考价值。

对于我的任务,我需要阻止一些主机名,但由于某些网站可能会使用不同的IP地址回复不同的DNS查询(例如,Google DNS和任何其他DNS服务器),我想使用不同的DNS服务器解析相同的主机名获取尽可能多的可能IP地址。

简而言之:我想使用DNS #A将“example.com”解析为IP并使用DNS #B将“example.com”解析为IP而不对我的网络配置进行任何重大更改(或者更好地不对其进行任何更改)所有)。

我看过Poco::Net::DNSc-ares,但他们似乎都使用操作系统DNS设置,不允许将查询指向其他DNS服务器(如果我错了,请纠正我)。

答案

是。 DNS是一种位于TCP协议之上的协议,因此您可以在任何可以发送和接收TCP数据包的地方进行DNS查询(假设没有防止此问题或其他网络问题的防火墙规则)。

但是,C ++没有DNS协议的标准库。 C ++也没有用于发送或接收TCP数据包的标准库(尽管在C ++ 20中考虑添加它)。您可以依赖特定于操作系统的API进行网络通信(或者一如既往,您可以使用包装系统API的库)。

以上是关于是否可以在C ++中以编程方式查询不同的DNS名称服务器,忽略系统设置?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 Visual Studio 2012 中以编程方式折叠/展开某个名称的所有预处理器块吗?

是否可以在iPhone中以编程方式启用热点模式?

是否可以在 Dynamics CRM (2013/2016) 中以编程方式禁用审核?

是否可以在 IValidatableObject 方法中以强类型的方式指定字段名称?

是否可以在 UIPageViewController 中以编程方式翻页?

是否可以在浏览器中以编程方式捕获页面上的所有事件?