问题:
使用https方式进行post 和get请求时,有时候会出现SSL handshake failed的问题,其实是调用Qt QNetworkAccessManager出现的问题。
其实SSL握手是建立HTTPS连接过程的第一步。为了验证和建立连接,用户的浏览器和网站的服务器必须经过一系列检查(握手),从而建立HTTPS连接参数。
分析:
QNetworkRequest::setSslConfiguration(const QSslConfiguration &configuration);
这个函数呢,可以设置SSL的配置,包括OpenSSL以及其它的SSL,函数默认设置是对服务器的安全证书进行验证的。
由于的网站证书有问题,既网页访问出现下列提示
从而无法导入证书,这个时候呢,无法通过验证。这个时候,默认的验证模式无法通过,从而服务端无法获得到客户端传入的数据。文章来源:https://www.toymoban.com/news/detail-661135.html
解决:
在执行post与get方法之前进行以下配置文章来源地址https://www.toymoban.com/news/detail-661135.html
方案1
QSslConfiguration config = QSslConfiguration::defaultConfiguration();
config.setProtocol(QSsl::TlsV1);
config.setPeerVerifyMod
到了这里,关于QT SSL handshake failed问题分析与解决 QT基础入门【网络编程】openssl的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!