Есть ли возможность отправить массив массивов в виде post-data через функцию QNetworkAccessManager :: post?
Я отправляю это на мой сайт:
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-данным, полученным моим test-webseite:
#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");
Других решений пока нет …