我需要从 Qt 应用程序向服务器发出 HTTP POST 请求。
POST 请求将包含命名值列表,即键/值对。它们主要是字母数字字符串,但可以包含特殊字符,例如引号、空格等。
在 Qt 中执行此类 POST 请求的规范方法是什么?
当前答案适用于 Qt 4。Qt 5 的语法已更改,如下所示:
QUrlQuery params;
params.addQueryItem("key1", "value1");
params.addQueryItem("key2", "value2");
QUrl resource("http://server.com/form.php");
QNetworkAccessManager* manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this,
SLOT(handleEndOfRequest(QNetworkReply*)));
QNetworkRequest request(resource);
//Force Content-Type header
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
manager->post(request, params.query(QUrl::FullyEncoded).toUtf8());
一些背景信息:http://doc.qt.io/qt-5/qurl-obsolete.html
此处描述了制作 Qt 版本感知代码:如何将 QUrl addQueryItem 移植到 Qt5 的 QUrlQuery?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)