Qt网络编程:DNS查找
一、描述
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查找相关推荐
- Qt网络编程概述(一)
分享主题 Qt网络编程概述(一) Qt网络编程之QTCPSocket和QTCPServer实例(二) Qt网络编程之QUdpSocket实例(三) Qt网络编程概述 QtNetWork模块提供了若干类 ...
- [Qt教程] 第31篇 网络(一)Qt网络编程简介
[Qt教程] 第31篇 网络(一)Qt网络编程简介 楼主 发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0 Qt网络编程简介 版权声明 该文章原创于作者yafeilin ...
- 【Qt入门第31篇】 网络(一)Qt网络编程简介
导语 从这一节开始我们讲述Qt网络应用方面的编程知识.在开始这部分知识的学习之前,大家最好已经拥有了一定的网络知识和Qt的编程基础.在后面的教程中我们不会对一个常用的网络名词进行详细的解释,对于不太了 ...
- Qt网络编程之实例一GET方式
看了两天的Qt网络编程,其实主要就是看了看QNetworkAccessManager.QNetworkRequest和QNetworkReply这三个类的主要内容.在之前,Qt网络编程主要是使用QHt ...
- qt android 网络编程实例,QT网络编程Tcp下C/S架构的即时通信实例
先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include #include #include # ...
- Qt网络编程——TCP
Qt网络编程--TCP 1. 概念 2. 服务器 3. 客户端 4. TCP服务器和客户端互传文件 5. 资源下载 1. 概念 TCP(Transmission Control Protocol, 传 ...
- Qt网络编程实战之HTTP服务器-安晓辉-专题视频课程
Qt网络编程实战之HTTP服务器-30196人已学习 课程介绍 设计了一个实用的HTTP服务器,基于Qt的网络框架实现.先详细介绍Qt的网络.IO.线程..自定义事件.配置文件等类库的 ...
- Qt网络编程电子白板
Qt网络编程电子白板 2018-08-11 08:44:04 天行健_地势坤 阅读数 915更多 分类专栏: Qt 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- qt网络编程之使用cookie和ssl
文章目录 所使用的Qt版本:5.14.0 接收Cookies: 发送Cookies: 答案是:有7个(有多少个等号就有多少个cookie,每个cookie用 ; 分隔开来) 代码如下: 参考: 简 述 ...
- 第十四章:Qt网络编程
回顾: 第一章:Qt的概述 第二章:在Ubuntu编写第一个Qt程序 第三章:Qt的字符串和字符编码 第四章:Qt的信号和槽 第五章:Qt容器窗口(父窗口) 第六章:面向对象的Qt编程 第七章:Qt设 ...
最新文章
- 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)
- 移动端1px像素的设置?
- 在Python这条路上踩过的坑(1)
- 路径调度问题(CVRP)后续之如何在MATLAB中安装YALMIP及CPLEX包
- ROS知识【11-1】:建立用户自己的工作空间、功能包
- Tomcat配置Web虚拟目录
- RAFT 寻找一种易于理解的一致性算法(扩展版)
- uCOS中任务调度时的上下文切换
- BZOJ2809-左偏树合并
- pythonpil安装教程_Python 3.6 -win64环境安装PIL模块的教程
- azure 入门_Azure Function应用程序入门
- 20个短视频素材网站
- 细数实现流水灯的三种代码形式
- PGP加密的基本操作
- OpenGL着色器语言
- java常用jar包下载_standard.jar包
- 一元二次方程的解法(Python语言)
- GPU版TensorFlow设置CPU运行的办法
- iPhone 13 不带 Touch ID、搭载 M1X 的 Mac mini 将发布?2021 苹果秋季发布会预测
- WooCommerce最新2.3.10汉化简体中文版语言包mo免费下载