Qt SSl握手使用QNetworkReply失败

问题描述

我在Qt代码上握手时遇到问题。 我正在使用4.8版本

我发现一些类似here的话题,但是我无法实现。

我的请求如下

manager = new QNetworkAccessManager();
    reply = NULL;
    connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finished(QNetworkReply*)));

void page100::on_atcmButton_clicked()
{
    QString a ="hello";
    ui->plainTextEdit->setPlainText("clicked");
    QString msg;
    QString url = "https:myURL";
    qnetworkrequest request = qnetworkrequest(QUrl(url));
    request.setHeader(qnetworkrequest::ContentTypeHeader,QVariant("application/json; charset=UTF-8"));
    QString json = QString("{\"message\":\"hello\"}");
    QByteArray data = json.tolatin1();

    //msg = QString("url = '%1\njson = '%2'\n").arg(json);
    //ui->plainTextEdit->setPlainText(msg);
    qDebug() << data;
    reply = manager->post(request,data);

    ui->plainTextEdit->setPlainText("finished");
}
void page100::finished(QNetworkReply *r){
    QString msg; 

    if(r == reply){
        int status = r->attribute(qnetworkrequest::HttpStatusCodeAttribute).toInt();
        if(r->error() == QNetworkReply::NoError && status >=200 && status < 300){
            msg = QString ("successfull reply (%1)").arg(status);
        } else{
            msg = QString("failure reply (%1),%2").arg(status).arg(r->errorString());
        }
        reply = NULL;
    } else{
        msg = QString("unkNown reply,url=%1").arg(r->url().toString());
    }

    r->deleteLater();
    ui->plainTextEdit->setPlainText(ui->plainTextEdit->toPlainText() + msg);
    //ui->plainTextEdit_2
}

有什么办法可以使用相同的代码解决SSL握手问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...