Qt5 SSL support

Qt5 SSL support

本文关键字:support SSL Qt5      更新时间:2023-10-16

我即将发出一个 web api 请求:

QNetworkAccessManager networkManager
QUrlQuery urlQuery;
urlQuery.setQuery("https://lalala.com/login");
urlQuery.addQueryItem("submit", "");
urlQuery.addQueryItem("email", "email@email.com");
urlQuery.addQueryItem("pass", "unbelievable_password");
QNetworkRequest request;
request.setUrl(QUrl(urlQuery.query()));
QNetworkReply* reply = networkManager.get(request);
const QString jsonDataString = (QString) reply->readAll();

问题是我在执行此代码期间有以下输出:

QSslSocket: cannot resolve TLSv1_1_client_method
QSslSocket: cannot resolve TLSv1_2_client_method
QSslSocket: cannot resolve TLSv1_1_server_method
QSslSocket: cannot resolve TLSv1_2_server_method
QSslSocket: cannot resolve SSL_select_next_proto
QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated

我的.pro文件包含libs定义:LIBS += -lcrypto -lssl,但是它的存在不会改变任何东西。

QSslSocket::supportsSsl()的呼唤返回1 .

执行openssl version回报OpenSSL 0.9.8za 5 Jun 2014

系统Mac OS X Yosemite,Qt版本5.4.0

如何拨打https电话?即使我调用根本不需要任何 SSL 的http://ip.jsontest.com,这些错误也存在。

很可能你必须安装新版本的OpenSSL。