我有个http2的服务端,是在linux上的,这边想在自己电脑上用qt写个可视化的客户端,我翻阅了资料写了一个客户端出来,现在有个问题是我客户端发出的http2请求服务端已正常处理,并返回消息给客户端,但是客户端一直报QNetworkReply::ProtocolInvalidOperationError错误,qt小白,求大神帮帮忙,谢谢了!
代码如下:
 
请求:
 
    QNetworkRequest request;
    QSslConfiguration config;
    QSslConfiguration conf = request.sslConfiguration();
    conf.setPeerVerifyMode(QSslSocket::VerifyNone);
    conf.setProtocol(QSsl::TlsV1_2);
    request.setSslConfiguration(conf);
 
 
    request.setUrl(QUrl(ui->editPostUrl->text()));
 
    //设置请求头
    request.setHeader(QNetworkRequest::ContentTypeHeader,"application/json");
    QVariant qvar("myRequest");
    request.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, qvar);
 
    QHttp2Configuration qtHttp2Config;
    qtHttp2Config.setServerPushEnabled(true);
    request.setHttp2Configuration(qtHttp2Config);
 
    //发送请求
 
    response = manager->post(request,ui->editPostData->toPlainText().toUtf8());
    response->ignoreSslErrors();
 
    connect(response , SIGNAL(finished()) , this , SLOT(replyFinished()));
 
响应:
 
void MainWidget::replyFinished()
{
    if (const auto reply = qobject_cast<QNetworkReply *>(sender()))
    {
        if (reply->error() != QNetworkReply::NoError)
            qDebug() << "error_A" << reply->error();
    }
 
}