Ваша функция близка к той, которую я использую при вызове сервисов REST.Я создаю одну функцию для каждого http-глагола.
Это моя функция записи (обратите внимание на поддержку SSL и базовой авторизации)
void Http::post(QString &url, QString &user, QString &password, QString &data)
{
QSslConfiguration config(QSslConfiguration::defaultConfiguration());
QNetworkRequest request;
request.setSslConfiguration(config);
request.setRawHeader("Authorization", "Basic " +
QByteArray(QString("%1:%2").arg(user).arg(password).toAscii().toBase64())
);
request.setRawHeader("Accept", "application/xml");
request.setRawHeader("Content-Type", "application/xml");
request.setUrl(QUrl(url));
qDebug() << url;
connect(netManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finished(QNetworkReply*)));
reply = netManager->post(request, data.toAscii());
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SIGNAL(progress(qint64,qint64)));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(sslError(QList<QSslError>)));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkError(QNetworkReply::NetworkError)));
}