Qt 网络请求各种错误解决大全

前言

最近自己写了一个后台的https的请求服务,用qt客户端测试各种报错,服务是在postman和其他在线url测试网站成功通过,下面记录一下其中的各种错误解决方案:


正文

  1. qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
    如图所示:
    在这里插入图片描述
    解决方案:
    1.首先确定你选择打开工程的编译器是64位还是32位,确定方法如下:在这里插入图片描述
    我的是64位
    2.去QtCreator的安装目录,搜索ssleay32.dll和libeay32.dll
    在这里插入图片描述
    这就是为什么一开始要确定编译器是64位还是32位,由于我一开始随便复制,采用的是QtCreator/bin中的,所以导致加入了这两个库,依然报错,所以必须要对应自己的编译器版本,这样放入exe所在的目录就成功编译过去了。

  2. Network Requst Error = QNetworkReply::SslHandshakeFailedError
    如下图:
    在这里插入图片描述
    这个错误是接着我上面解决了出现的
    解决方案:
    经过一番搜索和尝试,发现将QSslConfiguration中的peerverify mode设置为QSslSocket::VerfifyNone后问题解决。缺省mode为AutoVerifyPeer。Qt文档上面的描述如下:
    在这里插入图片描述
    解决代码如下:

      QSslConfiguration config;
      QSslConfiguration conf = request.sslConfiguration();
      conf.setPeerVerifyMode(QSslSocket::VerifyNone);
      conf.setProtocol(QSsl::TlsV1SslV3);
      req.setSslConfiguration(conf);
    

    将上面的代码放入QNetworkRequest请求之前即可,req这是QNetworkRequest实例化后的变量。


后面还有其他问题,则继续更新记录!!!

有兴趣搭建,关于python服务器搭建https服务的教程的,可以参考我另外一篇文章!!!

发布了156 篇原创文章 · 获赞 95 · 访问量 17万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览