我有个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();
}
}