以VS开发为例。因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作:

需要安装OpenSSL库:

1、首先打开http://slproweb.com/products/Win32OpenSSL.html网页;

2、下载安装包,我下载的是:Win32 OpenSSL v1.0.1c Light安装包,随着时间的推进,这个版本会不断更新的;

3、安装(exe文件)到本地,并且在安装过程中选择将库安装到OpenSSL的安装目录(/bin)下面。

4、将libeay32.dll 和 ssleay32.dll 文件拷贝到Qt中的存放有QtNetwork4.dll和QtNetworkd4.dll的文件目录下。我的是D:\Qt\4.8.2\bin

现在可以编写代码:

1 QNetworkRequest request;
2     QSslConfiguration config;
3
4     QSslConfiguration conf = request.sslConfiguration();
5     conf.setPeerVerifyMode(QSslSocket::VerifyNone);
6     conf.setProtocol(QSsl::TlsV1SslV3);
7     request.setSslConfiguration(conf);

上面三句添回检验证书模式与协议,并设置给对应QNetworkRequest,非常重要,在这里花费了我半天的时间才找到问题

1 request.setUrl(QUrl("https://www.xxx.com/html.jsp"));
2 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
3 request.setHeader(QNetworkRequest::ContentLengthHeader, bytePost.length());
4 QNetworkReply *pReply = pManager->post(request, bytePost);

备注:

SSL证书认证,有以下三种:

1.

1 QSslConfiguration config ;
2
3  config.setPeerVerifyMode(QSslSocket::VerifyNone);
4  config.setProtocol(QSsl::TlsV1);
5
6  QNetworkRequest request(req);
7  request.setSslConfiguration(config);

2.

1  QNetworkRequest request ;
2
3  request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
4  QNetworkReply* reply = QNetworkAccessManager::createRequest(op, request, outgoingData);
5  reply->ignoreSslErrors();

3.

1  QSslConfiguration config ;
2
3  QList<QSslCertificate> certs = QSslCertificate::fromPath("C:\\FiddlerRoot.crt");
4  config.setCaCertificates(certs);
5
6  QNetworkRequest request(req);
7  request.setSslConfiguration(config);

转载于:https://www.cnblogs.com/felix-wang/p/6248309.html

QT5.1 调用https相关推荐

  1. 【新手】基于C++Qt5通过调用百度翻译API制作简易翻译工具

    基于C++Qt5通过调用百度翻译API制作简易翻译工具 目录 基于C++Qt5通过调用百度翻译API制作简易翻译工具 写在前面 步骤: 1.注册百度翻译开放平台账号并开通翻译服务 2.下载安装Qt5和 ...

  2. ios调用restful接口_Postman调用https异常解决

    Postman为开发者比较常用的api测试工具,功能强大,支持各种restful接口调试,支持文件上传和文件下载. 这里主要根据项目调用https接口出现以下异常做个简要的操作讲解: 调用接口后pos ...

  3. 【SSL】调用HTTPS://服务遇到错误:unable to find valid certification path to requested target

    前言 OkHttpClient 最近有个需求,需要调用一个https开头的URL服务. 服务方提供了一个demo,但,demo是调用http的服务. 网上找了一大圈,发现盖起来要这样要那样的.都不符合 ...

  4. java webservice ssl_[转贴]Java客户端调用Https Webservice

    标题: Java客户端调用Https Webservice出处地址:http://hi.baidu.com/sunshibing/blog/item/08f873f0d41e67c37931aa84. ...

  5. Spring Boot项目中使用RestTemplate调用https接口出现 unable to find valid certification path to requested target

    问题描述:Spring Boot项目中使用RestTemplate调用https接口出现以下错误: PKIX path building failed: sun.security.provider.c ...

  6. java使用cxf调用https方式的webservice

    推荐尝试hutool工具调用: webservice服务利用hutool工具调用wsdl超简单_XYLANCC的博客-CSDN博客_hutool 调用wsdl 以下内容转载之后亲自测试过,又整理添加了 ...

  7. java调用https的webservice,https的wsdl

    java调webService太正常了... 在调用https的webService的时候几种常用的方法会出现安全错误,很多人说的是在jre里面装证书...那也太郁闷了吧 这里提供一种不用证书的方式 ...

  8. DotNetCore调用Https

    本人最近碰到DotNet和DotNetCore调用Https的情况.DotNetCore调用Https的资料特别少,试了两天才试好,分享出来给后面人避坑.用VS生成Webservice代理类的事就不说 ...

  9. 【实测避坑】SAP PI/PO系统 配置证书调用https地址

    博主内容在此链接原文上修改,避免初次配置https的时候踩到大坑,目前发现知乎,CSDN等相关文章中均未提及,博主踩坑花了2天时间才找到原因,未避免后续人员踩坑,在此文中特别补充. 在原文的基础上进行 ...

最新文章

  1. JavaScript库和API
  2. JS获取iFrame的内容
  3. 20145307《信息安全系统设计基础》课程总结
  4. linux nginx 配置优化,nginx 配置优化指令
  5. php 操件文件指定编码,(PHP帮助)如果文件中存在特定编号,请执行此操作
  6. CentOS系统修改IP
  7. java求sobel算子代码_sobel算子原理与实现
  8. 在VC++ 6.0下利用共享内存、消息实现内部进程通讯
  9. linux 下 docker NGINX+PHP+MYSQL+REDIS+Elasticsearch 开发环境搭建
  10. 剑指offer 66题 -- 丑数
  11. Java基础常见笔试题总结
  12. xx大学云数据中心建设方案
  13. IAR for stm8安装破解
  14. Jmeter 接口测试post请求数据失败
  15. 学习c语言有什么作用,c语言有什么用 小白如何学习c语言
  16. .docx勒索病毒删除 .docx勒索病毒还原文件
  17. html添加外链图片代码,web 外链图片 403 解决方案(http referrer)
  18. python中的in
  19. ccf 行车路线 201712-4
  20. 基于MCR的MATLAB使用案例

热门文章

  1. ie浏览器查看vue中js_浅析 Vue.js 中那些空间换时间的操作
  2. Python入门--获取字典视图的三个方法#keys()-->获取字典中所有key#values()-->获取字典中的所有value#items()-->获取字典中所有key-value对
  3. jquery获取图片的宽度
  4. 排序算法之 归并排序
  5. OpenGL基础27:网格
  6. Codeforces Round #468 (Div. 2): D. Peculiar apple-tree(水题)
  7. bzoj 1800: [Ahoi2009]fly 飞行棋
  8. opencv 图像边缘检测 Canny边缘检测算法使用
  9. jenkins简介及docker部署
  10. 记一次惨烈的电话面试题