HTTP

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)的介绍:

以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL
层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。

下面直接上代码:

// 头文件
QNetworkAccessManager* m_AccessManager;
QNetworkRequest m_Request;public slots:// 用来接收返回结果(异步的)void replyFinishedRes(QNetworkReply *reply);
// cpp
m_AccessManager = new QNetworkAccessManager(this);
qDebug() << QSslSocket::supportsSsl();
qDebug() << m_AccessManager->supportedSchemes();           // 查看本地支持的协议
connect(m_AccessManager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinishedRes(QNetworkReply *)));

如果本地不支持,不要着急,在QT目录下或者电脑其他地方搜索 libeay32.dllssleay32.dll将这两个dll拷贝到Qt12.0\5.12.0\mingw73_64\bin目录下就可以了

如果出错可以在replyFinishedRes(QNetworkReply *)槽函数中进行检查,以及是哪个网址返回的数据

代码:

if(reply->error() != QNetworkReply::NoError)
{// 错误查看QNetworkReply::NetworkError error = reply->error();QString strError = "";strError += "Https URL: ";strError += reply->url().toString();switch (error){case QNetworkReply::ConnectionRefusedError:strError += QString("错误原因: 远程服务器拒绝连接; 错误代码: ");qDebug() << strError << reply->error();break;case QNetworkReply::HostNotFoundError:strError += QString("错误原因: 远程主机名未找到(无效主机名); 错误代码: ");qDebug() << strError << reply->error();break;case QNetworkReply::TooManyRedirectsError:strError += QString("错误原因: 请求超过了设定的最大重定向次数; 错误代码: ");qDebug() << strError << reply->error();break;default:strError += QString("错误原因: 未知错误; 错误代码: ");qDebug() << strError << reply->error();break;}return;
}QByteArray data = reply->readAll();
// 查看是哪个网址返回的数据
if(m_strHttps_URL == reply->url().toString())
{getjson(data);
}reply->deleteLater();

QT 网络编程之https相关推荐

  1. Android 网络编程之HTTPS详解

    前言:HTTPS涉及相关的知识,总是很难的将其归纳总结起来,本文旨在带你学习详细的HTTPS相关知识点,看完本文后,你会了解到以下相关知识点: HTTPS的工作原理 HTTPS为什么要这样设计 密码学 ...

  2. 嵌入式学习之QT学习---8 QT网络编程之TCP通信

    前言: Qt网络模块提供了用于编写TCP/IP客户端和服务器端程序的各种类,如用于TCP通信的QTcpSocket和QTcpServer,用于UDP通信的QUdpSocket,还有用于实现HTTP.F ...

  3. C/C++编程知识:网络编程之 Https 详细分析,超详细知识点!

    01.为何会有Https Http的缺点 通信使用明文 通信使用明文意味着安全性大大降低,当通信过程被窃听后,无需花费额外的投入就可看到传输的数据. 例如使用抓包工具,无需任何配置就可查看任何使用HT ...

  4. Qt网络编程之QNetworkAccessManager

    注意:这个类的所有函数都是可重入的. 这个类是从Qt4.4引入的. **详细描述 **QNetworkAccessManager类允许应用程序发送网络请求和接收网络应答. Network Access ...

  5. Qt网络编程之QNetworkRequest

    Qt Network 模块中提供了一些高级别的类,例如:QNetworkRequest.QNetworkReply 和 QNetworkAccessManager,使用常见的协议执行网络操作. 详细描 ...

  6. Qt网络编程之UDP编程练习(20200219)

    服务端 #include "widget.h" #include <QApplication> #include <QString> #include &l ...

  7. Android 网络编程之OkHttp源码解析

    前言:OkHttp框架是Android的网络请求框架,无数的项目都在使用着这个框架,重要性不言而喻; 本文会将OKHTTP的源码进行拆解,每个部分来单独学习,由简入深,循序渐进,篇幅较长,建议收藏,慢 ...

  8. Java网络编程之TCP、UDP

    Java网络编程之TCP.UDP 2014-11-25 15:23 513人阅读 评论(0) 收藏 举报 分类: java基础及多线程(28) 版权声明:本文为博主原创文章,未经博主允许不得转载. J ...

  9. java网络编程之TCP通讯

    java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, 1 /* 2 *TCP 3 *建立连接,形成传输数据的通道: 4 *在连接中进行大数据量传输: ...

  10. 浅谈Java网络编程之Socket (2)

    <浅谈Java网络编程之Socket (1)>中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码. import java.net.*; import java.io ...

最新文章

  1. 爬虫之数据提取jsonpath模块的使用场景和使用方法
  2. 成功解决:利用编程向数据库插入一条记录,而从数据库中查不到该条记录
  3. Hibernate ORM框架——连接池相关
  4. gh0st源码分析与远控的编写(四)
  5. python 生成pdf页面大小_(Python)更改使用xtopd生成的PDF文件的页面大小和格式
  6. IntelliJ IDEA 2020 数据库连接Oracle和Mysql
  7. Java 实例 - 测试两个字符串区域是否相等
  8. DATASNAP数据序列之FIREDAC的TFDJSONDataSets
  9. mysql 向量写法_mysql – 你如何在Ruby中处理一个非常大的向量?
  10. Kettle连接mysql数据库所需驱动包,出现报错情况(附驱动下载方法)
  11. 2022-CKA考试经验总结
  12. easyUI详解教程
  13. DIY一个UNISOLDER焊台无线红外休眠座
  14. 如何制定个人学习计划?
  15. javascript Array系列函数之9:slice拷贝一个数组
  16. 数据分析师—Excel函数篇
  17. 2019计算机三级网络技术答案,2019年计算机三级网络技术精选练习题
  18. 3GP/FLV/AVI 格式整理
  19. 耶路撒冷圣城起源笔记
  20. 总结python之excel write(row,col,data)

热门文章

  1. java关键字定义字符变量_Java 关键字和标识符
  2. [HTTP权威指南]2.HTTP连接管理
  3. 不用PLC编程,实现USB或串口条码枪对接PLC,数据直接写入寄存器
  4. 【电脑运用及修理】连接不到网站服务器解决方案【win10】
  5. 视频安防监控系统工程设计规范GB 50395-2007
  6. 数据库SQL Server 基础知识思维导图
  7. 关于dsoframer VC++下的使用
  8. QT添加MySQL驱动依赖
  9. python全套视频迅雷下载_[全套视频] 老王Python基础,进阶,项目篇(无KEY完整版) 视频教程 15G...
  10. 火狐firebug,firepath以及Selenium IDE插件安装方法