一、描述

QDnsLookup 使用操作系统提供的机制来执行 DNS 查找。

注意:如果您只是想查找与主机名关联的 IP 地址,或与 IP 地址关联的主机名,则应改用 QHostInfo。

1.1、DNS服务

相比于用IP地址去访问网站,人们更愿意用域名。DNS协议提供提供域名查找IP地址或逆向从IP地址查找域名的服务。

二、类型成员

1、enum QDnsLookup::Error:指示在处理 DNS 查找过程中发现的所有可能的错误情况。

  • NoError:没有错误。
  • ResolverError:初始化系统的 DNS 解析器时出错。
  • OperationCancelledError:使用 abort() 方法中止了查找。
  • InvalidRequestError:请求的 DNS 查找无效。
  • InvalidReplyError:服务器返回的回复无效。
  • ServerFailureError:服务器在处理请求时遇到内部故障 (SERVFAIL)。
  • ServerRefusedError:服务器出于安全或策略原因拒绝处理请求(REFUSED)。
  • NotFoundError:请求的域名不存在 (NXDOMAIN)。

2、QDnsLookup::Type:指示执行的 DNS 查找的类型。

  • A:IPv4 地址记录。
  • AAAA:IPv6 地址记录。
  • ANY:任何记录。
  • CNAME:规范名称记录。
  • MX:邮件交换记录。
  • NS:名称服务器记录。
  • PTR:指针记录。
  • SRV:服务记录。
  • TXT:文本记录。

三、成员函数

1、void abort()

中止 DNS 查找操作。如果查找已经完成,则什么都不做。

2、[signal] void finished()

查找完成时发出此信号。

3、void lookup()

执行 DNS 查找。

4、QList<QDnsDomainNameRecord> canonicalNameRecords()

返回与此查找关联的域名记录列表。

5、QList<QDnsHostAddressRecord> hostAddressRecords()

返回与此查找关联的主机地址记录列表。

6、QList<QDnsMailExchangeRecord> mailExchangeRecords()

返回与此查找关联的邮件交换记录列表。

7、QList<QDnsDomainNameRecord> nameServerRecords()

返回与此查找关联的名称服务器记录列表。

8、QList<QDnsDomainNameRecord> pointerRecords()

返回与此查找关联的指针记录列表。

9、QList<QDnsServiceRecord> serviceRecords()

返回与此查找关联的服务记录列表。

10、QList<QDnsTextRecord> textRecords()

返回与此查找关联的文本记录列表。

四、使用示例

    QDnsLookup * dns = new QDnsLookup();QDnsLookup::connect(dns, &QDnsLookup::finished,[dns]{qDebug()<<"finished";if (dns->error() != QDnsLookup::NoError){qWarning("DNS查找失败");dns->deleteLater();return;}foreach (auto &record , dns->hostAddressRecords()){qDebug()<<record.name()<<" "<<record.value();}dns->deleteLater();});dns->setType(QDnsLookup::A);dns->setName("www.baidu.com");dns->lookup();

Qt网络编程:DNS查找相关推荐

  1. Qt网络编程概述(一)

    分享主题 Qt网络编程概述(一) Qt网络编程之QTCPSocket和QTCPServer实例(二) Qt网络编程之QUdpSocket实例(三) Qt网络编程概述 QtNetWork模块提供了若干类 ...

  2. [Qt教程] 第31篇 网络(一)Qt网络编程简介

    [Qt教程] 第31篇 网络(一)Qt网络编程简介 楼主  发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0 Qt网络编程简介 版权声明 该文章原创于作者yafeilin ...

  3. 【Qt入门第31篇】 网络(一)Qt网络编程简介

    导语 从这一节开始我们讲述Qt网络应用方面的编程知识.在开始这部分知识的学习之前,大家最好已经拥有了一定的网络知识和Qt的编程基础.在后面的教程中我们不会对一个常用的网络名词进行详细的解释,对于不太了 ...

  4. Qt网络编程之实例一GET方式

    看了两天的Qt网络编程,其实主要就是看了看QNetworkAccessManager.QNetworkRequest和QNetworkReply这三个类的主要内容.在之前,Qt网络编程主要是使用QHt ...

  5. qt android 网络编程实例,QT网络编程Tcp下C/S架构的即时通信实例

    先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include #include #include # ...

  6. Qt网络编程——TCP

    Qt网络编程--TCP 1. 概念 2. 服务器 3. 客户端 4. TCP服务器和客户端互传文件 5. 资源下载 1. 概念 TCP(Transmission Control Protocol, 传 ...

  7. Qt网络编程实战之HTTP服务器-安晓辉-专题视频课程

    Qt网络编程实战之HTTP服务器-30196人已学习 课程介绍         设计了一个实用的HTTP服务器,基于Qt的网络框架实现.先详细介绍Qt的网络.IO.线程..自定义事件.配置文件等类库的 ...

  8. Qt网络编程电子白板

    Qt网络编程电子白板 2018-08-11 08:44:04 天行健_地势坤 阅读数 915更多 分类专栏: Qt 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

  9. qt网络编程之使用cookie和ssl

    文章目录 所使用的Qt版本:5.14.0 接收Cookies: 发送Cookies: 答案是:有7个(有多少个等号就有多少个cookie,每个cookie用 ; 分隔开来) 代码如下: 参考: 简 述 ...

  10. 第十四章:Qt网络编程

    回顾: 第一章:Qt的概述 第二章:在Ubuntu编写第一个Qt程序 第三章:Qt的字符串和字符编码 第四章:Qt的信号和槽 第五章:Qt容器窗口(父窗口) 第六章:面向对象的Qt编程 第七章:Qt设 ...

最新文章

  1. 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)
  2. 移动端1px像素的设置?
  3. 在Python这条路上踩过的坑(1)
  4. 路径调度问题(CVRP)后续之如何在MATLAB中安装YALMIP及CPLEX包
  5. ROS知识【11-1】:建立用户自己的工作空间、功能包
  6. Tomcat配置Web虚拟目录
  7. RAFT 寻找一种易于理解的一致性算法(扩展版)
  8. uCOS中任务调度时的上下文切换
  9. BZOJ2809-左偏树合并
  10. pythonpil安装教程_Python 3.6 -win64环境安装PIL模块的教程
  11. azure 入门_Azure Function应用程序入门
  12. 20个短视频素材网站
  13. 细数实现流水灯的三种代码形式
  14. PGP加密的基本操作
  15. OpenGL着色器语言
  16. java常用jar包下载_standard.jar包
  17. 一元二次方程的解法(Python语言)
  18. GPU版TensorFlow设置CPU运行的办法
  19. iPhone 13 不带 Touch ID、搭载 M1X 的 Mac mini 将发布?2021 苹果秋季发布会预测
  20. WooCommerce最新2.3.10汉化简体中文版语言包mo免费下载

热门文章

  1. 一文熟知docker安装RabbitMQ及安装延迟插件
  2. linux开机启动脚本
  3. 微信小程序实现电脑关机、监控文件
  4. 全球垂直耕种机行业收入预计2028年达到35.964亿美元
  5. uniapp判断对象是否为空
  6. web前端常用框架总结
  7. 区块链10年,3.0应用生态下AME溯源将带来哪些颠覆
  8. ResearchRabbit.ai: 学术论文摘要研究工具
  9. 幼师转行成为产品经理,入行月薪13K!
  10. pinpoint mysql_Pinpoint 安装部署