QNetworkAccessManager post-data array of arrays


QNetworkAccessManager post-data array of arrays

是否有可能通过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");