qt.network.ssl: QSslSocket: 无法解析SSLv2_client_method

qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method

本文关键字:SSLv2 method client network ssl QSslSocket qt      更新时间:2023-10-16

我正在尝试向远程服务器发出POST请求。这是我的代码:

void LoginWindow::on_login_pushButton_clicked()
{
    const QString url = ui->server_lineEdit->text ();
    const QString username = ui->username_lineEdit->text ();
    const QString password = ui->password_lineEdit->text ();
    QNetworkAccessManager mAccessManager;
    QNetworkRequest request(QUrl(url + "/api/auth/"));
    QUrlQuery urlQuery;
    urlQuery.addQueryItem ("username", username);
    urlQuery.addQueryItem ("password", password);
    QUrl params;
    params.setQuery (urlQuery);
    QNetworkReply* reply = mAccessManager.post (request, params.toEncoded ());
    connect (reply, &QNetworkReply::readyRead, [reply]() {
        qDebug()  << "Ready to read from reply";
    });
    connect (reply, &QNetworkReply::sslErrors, [this] (QList<QSslError> error) {
        qWarning () << "Ssl error: " << error;
    });
}

当我单击登录按钮时,除了应用程序输出选项卡中的消息外,没有任何反应。

qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method

我检查了远程服务器日志,没有来自qt客户端的请求。

我正在使用 ubuntu 16.04 和 Qt 5.9 .我也遵循了这个解决方案,仍然没有运气

sslv2在较新的发行版中完全禁用,通过dpkg从launchpad安装libssl-0.98。

打开终端,转到解压缩的文件夹并运行:

sudo dpkg -i 文件.deb

sudo apt-get install -f

您可以使用QSsl::SecureProtocols启用从Qt版本开始被视为安全的SSL版本。