我即将发出网络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
,这些错误也会存在。
答案 0 :(得分:1)
很可能你必须安装新版本的OpenSSL。