是否有可能通过QNetworkAccessManager::p ost函数发送数组作为后数据?
我正在将此发送到我的网站:
QUrl login;
login.addQueryItem("name", "MyName");
login.addQueryItem("password", "CoolPassword");
QNetworkRequest oRequest("127.0.0.1/xampp/test.php");
m_oManager.post(oRequest, login.encodedQuery());
这导致我的测试网站收到以下 POST 数据:
#var_dump($_POST);
array(2)
{
["name"]=> string(6) "MyName"
["password"]=> string(12) "CoolPassword"
}
这是我所期望的。但是我尝试解析的网站需要 POST 数据,如下所示:
#var_dump($_POST);
array(2)
{
["_method"]=> string(4) "POST"
["data"]=> array(1)
{
["world"]=> array(1)
{
["Account"]=> array(2)
{
["name"]=> string(6) "MyName"
["password"]=> string(12) "CoolPassword"
}
}
}
}
如何创建此结构?QNetworkAccessManager甚至可以做到这一点吗?
经过一番胡思乱想并阅读网站-http代码,我找到了解决方案。
QUrl login;
login.addQueryItem("_method", "POST");
login.addQueryItem("data[world][Account][name]", "MyName");
login.addQueryItem("data[world][Account][password]", "CoolPassword");