我正在尝试使用 Qt 5.1.1 将一些 json 数据发送到 Web 服务。那里有很多例子,但几乎所有都是针对 Qt 4.x 的,它的 API 略有不同。这是我现在正在尝试的:
QUrl url("http://...");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QByteArray jsonInPostFormat = "json=" + QUrl::toPercentEncoding(jsonAsString);
jsonInPostFormat.replace("%20","+");
reply = net->post(request, jsonInPostFormat);
connect(reply, SIGNAL(finished()), this, SLOT(finishedAddComment()));
以上内容......没有效果。如果我做得正确,我似乎没有从服务器得到任何响应。 (我在finishedAddComment()中调用reply->readALL()。)
该服务有一个可以正常工作的测试表单。我已经转储了它发送的 header 并查看了 html,这只是指定了 post 方法的标准表单。
我做错了什么明显的事情吗?有没有更好的方法,比如使用 QUrlQuery?
查看 Qt 实际发送的原始 HTML 请求的某种方式将非常有帮助......
谢谢! 泰勒
最佳答案
Qt5 不再具有 QUrl::encodedQuery() 方法。不确定,但从文档来看,它可能可以使用 QUrl::query() 方法代替。
希望有帮助。
关于c++ - 如何使用 Qt 5 将数据 POST 到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21205825/