目录

官网解析

博主例子


官网解析

QSslConfiguration用于SSL连接的配置。
QSslConfiguration是Qt networking下的一个类,这个类主要用于打开SSL连接,以及控制该连接下的某些特性。
QSslConfiguration支持下面的设置:
          1. SSL/TLS协议的使用;
          2. 对方的证书以及私钥;
          3. 支持加密链接;
          4. 验证证书机构;
这些都是在握手的时候设置的。连接之后设置这些是没有用的。
QSslConfiguration支持如下的状态:
          1. 握手时对方的证书,以及指向CA连接的证书;
          2. 会话的加密;
只有在SSL连接后,才能获取这些。
QSslConfiguration通常和QSslSocket和the Network Access API一起使用。
注意:只有使用setSslConfiguration这种方式,配置才会生效,如下:

  QSslConfiguration config = sslSocket.sslConfiguration();config.setProtocol(QSsl::TlsV1_0);sslSocket.setSslConfiguration(config);

博主例子

此处举个例子,这个例子是设置了QSslSocket::VerifyNone,指的是QSslSocket不需要对方的认证,当这个链接任然需要加密,并且如果对方需要本地客户端认证,则也会发过去

程序运行截图如下,抓取的是沪江的网站:

源码如下:

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QNetworkReply>QT_BEGIN_NAMESPACE
class QNetworkAccessManager;
QT_END_NAMESPACEnamespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = nullptr);~Widget();protected slots:void onFinished();void error(QNetworkReply::NetworkError error);void btnClicked();private:Ui::Widget *ui;QNetworkAccessManager *m_manager;
};#endif // WIDGET_H

main.cpp

#include "widget.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QSslConfiguration>
#include <QNetworkReply>
#include <QDebug>
#include <QUrl>
#include <QNetworkAccessManager>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);m_manager = new QNetworkAccessManager(this);QNetworkRequest *request = new QNetworkRequest();QSslConfiguration config;QSslConfiguration conf = request->sslConfiguration();conf.setPeerVerifyMode(QSslSocket::VerifyNone);conf.setProtocol(QSsl::TlsV1SslV3);request->setSslConfiguration(conf);request->setUrl(QUrl("https://class.hujiang.com/"));QNetworkReply *reply = m_manager->get(*request);connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(btnClicked()));connect(reply , SIGNAL(finished()) , this , SLOT(onFinished()));connect(reply , SIGNAL(error(QNetworkReply::NetworkError)) , this , SLOT(error(QNetworkReply::NetworkError)));
}Widget::~Widget()
{delete ui;
}void Widget::onFinished()
{QNetworkReply *r = static_cast<QNetworkReply*>(QObject::sender());qDebug() << QString::fromUtf8(r->readAll().left(10240));
}void Widget::error(QNetworkReply::NetworkError error)
{}void Widget::btnClicked()
{qDebug() << "呵呵哒";
}

Qt文档阅读笔记-QSslConfiguration官方解析与实例相关推荐

  1. Qt文档阅读笔记-QSet官方解析及实例

    目录 官方解析 博主栗子 官方解析 QSet类是一个模板类,他是一个哈希表集合. QSet<T>是Qt的一个普通容器类.QSet存储的值是不指明顺序的,QSet对这些值提供了快速检索的功能 ...

  2. Qt文档阅读笔记-QtWebApp官方解析与实例(使用QtWebApp搭建HTTP服务器)

    目录 官方解析 博主例子 官方解析 QtWepApp是一个C++的http服务器,受到了java Servlets的启发,因为是Qt写的,所以有跨平台的支持. QtWebApp包含如下的组成部分:   ...

  3. Qt文档阅读笔记-QHostInfo官方解析与实例(根据Host获取IP)

    官方解析 QHostInfo提供了一个静态方法获取主机名: QHostInfo中有一个查找机制,可以根据IP找主机名,也可能工具主机名找IP,可以通过调用QHostInfo::lookupHost这个 ...

  4. Qt文档阅读笔记-QTcpServer官方解析与实例(使用QSocket创建简单的HTTP服务器)

    目录 官方解析 博主例子(做一个简单的HTTP服务器) 本例子中HTTP协议关键点 官方解析 QTcpServer类,提供TCP服务的基础: 这个类接受TCP连接,可以指定一个端口,也可以让其自动一个 ...

  5. Qt文档阅读笔记-QWebPage官方解析与实例

    目录 官方解析 博主例子 源码下载地址 官方解析 QWebPage提供一个视图对象和一个web页面: QWebPage提供了web页面的内容,各种设置(是否支持JavaScript等)和连接,它与QW ...

  6. Qt文档阅读笔记-QWebView官方解析与实例

    目录 背景 官方解析 博主例子 背景 最近发现某Qt项目,出现的效果杠杆的,在看某一小功能的时候,发现有个echart的东西,百度了发现,真的是一个新大陆,Qt加web编程,贼吉尔可怕. 在此发现使用 ...

  7. Qt文档阅读笔记-Q_CLASSINFO官方解析与实例

    官方解析 Q_CLASSINFO 这个宏为类提供额外的信息,要想获取这个Q_CLASSINFO这个信息要使用QObject::metaObject().Qt在Active Qt,Qt D-BUS以及Q ...

  8. Qt文档阅读笔记-stackUnder官方解析与实例

    目录 官方解析 博主例子 官方解析 这里可以配合raise()和lower()这两个函数来使用! 博主例子 用2个label,点击谁谁就浮在界面的最上面,很简单的代码,程序运行截图如下: 源码如下: ...

  9. Qt文档阅读笔记-QPropertyAnimation官方解析及实例

    目录 官方解析 博主例子 官方解析 QPropertyAnimation QPropertyAnimation类为Qt属性提供动画. QPropertyAnimation类可以修改Qt属性,从而达到动 ...

最新文章

  1. oracle 控制文件在哪里设置_从Oracle到PostgreSQL:最全控制文件
  2. 利用三层交换机实现VLAN间路由(VLANIF)
  3. SQL Server游标的使用【转】
  4. debug.keystore文件不存在解决办法
  5. python困难_Python开发总感觉困难重重,可能是你没用上这些开发工具
  6. [Firebug]用来武装Firebug的十三款Firefox插件
  7. linux 删除含有关键词的文件_linux下查找包含关键字的文件
  8. 计算机应用能力power,全国专业技术人员计算机应用能力考试专用教材——PowerPoint 2003中文演示文稿5日通题库版(双色)(附光盘) - 中国考研网...
  9. 花三分钟给女票写一个爬虫,做一回模范男友!
  10. 前端面试js-手写事件委托(一点小改进)
  11. Linux per-CPU实现分析
  12. JAVA学习笔记 || 使用Point 类的注意事项
  13. AutoCAD2016-2020设置经典模式界面
  14. EtherCAT xml 解析(不定时更新)
  15. 安装更多的CAD字体
  16. 全同高校名称MySQL数据表
  17. 遇到一个Bug:Android: requestLayout() improperly called
  18. percentile函数mysql_Oracle分析函数PERCENTILE_CONT
  19. chrome、Firefox、IE浏览器和驱动下载地址
  20. 超轻量级通用人脸检测模型

热门文章

  1. Linux系统瘦身裁剪 续
  2. 使用etop查看系统中进程信息
  3. SQL2005转2000
  4. 程序员提高编程技术最有效的一件事?了解一下,迅速提升自己!
  5. 中国IT行业盛行,互联网行业早已饱和!程序员“过多”是主要原因?
  6. 听说,阿里“拆中台”了?
  7. 『飞秋』Windows7新功能体验(1):为Windows 7 Media Center安装网络电视(Internet TV)
  8. 关于CompleteWithAppPath函数,CompleteWithAppPath(aFileName)
  9. 中国人写的编译器-值得看看
  10. 程序员的未来在哪里?赶紧看看!!