Qt 使用QNetworkRequest提示错误字符串:SSL handshake failed
最近使用QNetworkRequest获取Url返回数据时发现获取到的内容为空,打印出errString()为:SSL handshake failed,在浏览器上获取Url数据提示不安全,考虑到可能是SSL证书有问题。
浏览器提示不安全:
调试打印错误字符串:
解决方案:
//配置SSL证书
QSslConfiguration JsonBusiness::GetSslCertificate()
{
bool bSupp = QSslSocket::supportsSsl();
auto buildVersion = QSslSocket::sslLibraryBuildVersionString();
QString version = QSslSocket::sslLibraryVersionString();
qInfo() << bSupp << buildVersion << version ;
QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration();
sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
sslConfig.setProtocol(QSsl::SslProtocol::AnyProtocol);
QSslConfiguration::setDefaultConfiguration(sslConfig);
return sslConfig;
}
再次调试后发现已经可以获取到Url数据。