Поскольку некоторые параметры и значения могут нуждаться в кодировке utf-8 и процентах (пробелы, &, =, специальные символы ...), лучше использовать QUrl
(для Qt 4) или QUrlQuery
(для Qt 5) чтобы построить опубликованную строку.
Пример кода для Qt 4 :
QUrl postData;
postData.addQueryItem("param1", "string");
postData.addQueryItem("param2", "string");
...
QNetworkRequest request(serviceUrl);
request.setHeader(QNetworkRequest::ContentTypeHeader,
"application/x-www-form-urlencoded");
networkManager->post(request, postData.encodedQuery());
и для Qt 5 :
QUrlQuery postData;
postData.addQueryItem("param1", "string");
postData.addQueryItem("param2", "string");
...
QNetworkRequest request(serviceUrl);
request.setHeader(QNetworkRequest::ContentTypeHeader,
"application/x-www-form-urlencoded");
networkManager->post(request, postData.toString(QUrl::FullyEncoded).toUtf8());
Начиная с Qt 4.8, вы также можете использовать QHttpMultiPart , если вам нужно загрузить файлы.