1、环境

ubuntu 12.04

Qt库版本 4.8.1(安装包是Nokia时期的sdk,现在已经不好找了)

2、网上一查都说 Qt 默认不支持Openssl,心想那https也肯定用不了啊,然后屁颠屁颠的重新编了个库加上openssl的支持,编了差不多得三四个小时,中间有个问题还是可以记一下的,编库的时候中间可能会报一个错误

“使用了‘union’标记,在命名‘struct _GMutex’时”,原因是和glib的声明发生了冲突,把Qt 的源码修改一下就行了

修改方法:需要修改两个文件,可以在源码目录下执行 grep -R -n _GMutex * 就找到那两个文件了 把struct 改成 union 就行了

3、最后证明第二步操作时没什么意义的,因为发现Qt默认是支持https请求的,linux和windows下都可以直接用,代码如下

// 头文件
#include <QSsl>
#include <QSslConfiguration>
#include <QSslSocket> //请求部分的代码
QString strUrl = "https://........."; QNetworkRequest request;
//下边的四行代码是做验证处理的,方式不止这一种
QSslConfiguration config; config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::TlsV1);
request.setSslConfiguration(config); request.setUrl(QUrl(strUrl));
request.setRawHeader("......");

如果用wget 来下载东西的话 可能需要添加参数 --no-check-certificate 来忽略中间的认证

注:可能当涉及到ssl更复杂的功能的时候Qt默认就不支持了,以后遇到了再说吧

Qt 发送 https 请求的更多相关文章

  1. 使用Qt发送HTTPS请求

    示例代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QNetworkAc ...

  2. 【转载】JMeter学习(三十六)发送HTTPS请求

    Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试.由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议.这就需要对jmeter进行设置. ...

  3. Web Server 使用WebClient 发送https请求 The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel

    使用WebClient 发送https请求 使用WebClient发送请求时,并且是以https协议: WebClient webClient = new WebClient(); string re ...

  4. 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL

    这里使用的是HttpComponents-Client-4.1.2 package com.jadyer.util; import java.io.File; import java.io.FileI ...

  5. JMeter学习(三十六)发送HTTPS请求(转载)

    转载自 http://www.cnblogs.com/yangxia-test Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试.由于在云阅读接口测试的过程 ...

  6. 【传输协议】发送https请求,由于客户端jdk版本过高,服务端版本低。导致异常:javax.net.ssl.SSLHandshakeException: Server chose SSLv3, but that protocol version is not enabled or not supported by the client.

    本地环境jdk为1.8,服务器使用jdk版本未知.但发送https请求,抛出如下异常,解决方案. 一:发送异常内容如下 javax.net.ssl.SSLHandshakeException: Ser ...

  7. python2/3 发送https请求时,告警关闭方法

    问题: 使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误: InsecureRequestWarning: Unverifi ...

  8. requests发送HTTPS请求(处理SSL证书验证)

    1.SSL是什么,为什么发送HTTPS请求时需要证书验证? 1.1 SSL:安全套接字层.是为了解决HTTP协议是明文,避免传输的数据被窃取,篡改,劫持等. 1.2 TSL:Transport Lay ...

  9. .Net Core 发送https请求/.net core 调用数字证书 使用X509Certificate2

    .Net Core 发送https请求 .net core 调用数字证书 使用X509Certificate2 .NET下面的 .netfromwork使用和asp.net core下使用方式不一样 ...

随机推荐

  1. JavaScript学习总结【4】、JS深入

    1.JS流程控制语句 (1).if 判断 if 语句是基于条件成立时才执行相应的代码. if...else 语句是在指定的条件成立时执行if后的代码,在条件不成立时执行else后的代码. if...e ...

  2. Ext.String 方法

    1.Ext.String.htmlEncode(value); 编码字符串,对其中特殊字符进行转义 xt.String.htmlEncode("hello'world"); //& ...

  3. c++构造函数谁先执行的问题

    看到网上一哥们的帖子 http://blog.csdn.net/maray/article/details/7761709 东西不多就转发了 1 #include <iostream> u ...

  4. java怎么连接sql server,需要注意的几点

    一.JAVA连接SQL的语句    JAVA连接SQL2000语句为:  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  Drive ...

  5. bzoj 1503: [NOI2004]郁闷的出纳员 Treap

    1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 6263  Solved: 2190[Submit][Statu ...

  6. Linux怪哉ntfs

    http://www.linuxidc.com/Linux/2013-08/88721.htm

  7. 使用Sass和Compass组合写CSS

    最近开始在尝试开始使用Sass来写CSS代码,刚开始虽然还是不太习惯用链式的方式写css,不过这是暂时的阶段. 如果你还不了解Sass,可以看之前发表过的文章来了解详情,Sass主要有下面这几种特性( ...

  8. Duplex Service in WCF(CodeProject上的)

    Duplex Service in WCF In WCF, a service can call back to its clients. That is to say that, at the ti ...

  9. nbtstat Linux版源码, 通过IP获取主机名

    nbtstat Linux版, 通过IP获取主机名/* NETBIOS name lookup tool - by eSDee of Netric (www.netric.org) * yeh.. i ...

  10. bzoj2131

    首先不难想到对t排序,有f[i]=max(f[j])+v[i] tj<=ti且abs(pi-pj)/2<=ti-tj;要想优化,肯定从优化转移入手先去绝对值,当pi>=pj时,可得2 ...