gpt4 book ai didi

Qt5 使用 QUrl/QNetworkRequest 将数据发布到服务器

转载 作者:行者123 更新时间:2023-12-04 07:56:13 25 4
gpt4 key购买 nike

我有一段在 4.8 中工作的代码,但现在我需要将它移植到 Qt5 (beta2)
这是应该发生的事情:
我想将一些数据发布到网络服务器,网址应如下所示“http://server/actions.php
然后我的字段(“操作”字符串和“数据”字符串(json))应该使用 post 发送到服务器。未在 url 中编码

QUrl params;
// The data to post
QVariantMap map;

map["Title"]="The title";
map["ProjectId"]="0";
map["Parent"]="0";
map["Location"]="North pole";
map["Creator"]="You";
map["Group"]="a group";
QByteArray data = Json::serialize(map); //the map is converted to json im a QByteArray

params.addEncodedQueryItem("Data",data);
params.addQueryItem("Action", "Update");

QNetworkRequest Request(QUrl("http://server.com/actions.php"));
Request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
NetManager->post(Request,params.encodedQuery());

现在,我可能一开始就没有做到这一点(它在 4.8 中有效)但真正的问题是 addEncodedQueryItem()addQueryItem()现在从 Qt5 开始就消失了,我不知道我应该用什么替换它们。
我已阅读新文档并查看新 QUrlQuery但我无法自己弄清楚如何在我的情况下使用它。

最佳答案

我遇到了类似的问题,并在 Qt5 中使用了类似于以下内容的代码

QUrl url;
QByteArray postData;

url.setUrl("http://myurl....");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");

Qstring postKey = 'city';
QString postValue = 'Brisbane';

postData.append(postKey).append("=").append(postValue).append("&");
networkManager.post(request,postData);

希望使用 Qt5 重写您的代码以发送 http post 值可能有用

关于Qt5 使用 QUrl/QNetworkRequest 将数据发布到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com