void View::on_pushButton_clicked()
{// 设置网络管理器, 并关联回调函数QNetworkAccessManager manager;connect(&manager,&QNetworkAccessManager::finished,this,&View::handleResponse);// 构建HTTP请求QNetworkRequest request;// 设置请求的网址request.setUrl(QUrl("https://XXX"));// 设置请求头的Content-Type (以json类型为例)request.setHeader(QNetworkRequest::ContentTypeHeader,QVariant("application/json;charset=utf-8"));// 设置请求头的tokenQString token = "xxxxxxxxxxxxxxxxxxxxxxxx";QString token_headerData = token;request.setRawHeader("token",token_headerData.toLocal8Bit());// 构造请求体(以json类型为例)QJsonObject dataobj;// 构建json对象dataodataobj.insert("key", "json_key");dataobj.insert("data", "json_data");// 将json对象转换成字节流QJsonDocument document;document.setObject(dataobj);QByteArray bytes = document.toJson(QJsonDocument::Compact);// 设置请求体 并 发送post请求QNetworkReply* reply = manager.post(request, bytes);// 开启事件监听,直到完成响应QEventLoop loop;connect(reply, &QNetworkReply::finished, &loop,&QEventLoop::quit);loop.exec();
}void View::handleResponse(QNetworkReply *resp)
{QString res = resp->readAll();qDebug() << res;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!