Правильный формат для HTTP POST с использованием QNetworkRequest

Я пытаюсь отправить JSON-запрос в веб-службу, и я продолжаю получать внутренние ошибки сервера в качестве ответа на запрос.

Вот что яЯ пытаюсь отправить:

POST /api/1.7/webservice.asmx HTTP/1.1
Host: www.superService.com
User-Agent: My app name v0.1
X-Custom-User-Agent: My app name v0.1
Content-Type: application/json
Content-Length:81

{"method":"AuthenticatePlain","loginName":"[email protected]","password":"mypass"}

Это должно быть отправленоhttps://www.superService.com/api/1.7/ssapi.asmx

При подготовке QNetworkRequest, какой метод используется для вставки строки

POST /api/1.7/webservice.asmx HTTP / 1.1?

Полный заголовок содержится в объекте QNetworkRequest?

Должны ли данные JSON находиться в объекте QNetworkRequest или они добавляются в сообщение в качестве второго аргумента в методе QNetworkAccessManager :: post ()?

Вот мой текущий код в слоте on_btnLogin_clicked ():

connect(m_qnam, SIGNAL(finished(QNetworkReply*)),
                 this, SLOT(handleNetworkData(QNetworkReply*)));
    connect(m_qnam,SIGNAL(sslErrors(QNetworkReply*,QList)),
                 this, SLOT(handleSSLErrors(QNetworkReply*)));

    QString baseString = "";
    baseString.append(QString("POST /api/1.7/webservice.asmx HTTP/1.1\r\n").toUtf8());  
    baseString.append(QString("www.superService.com\r\n").toUtf8());
    baseString.append(QString("User-Agent: My app name v0.1\r\n").toUtf8());
    baseString.append(QString("X-Custom-User-Agent: My app name v0.1\r\n").toUtf8());
    baseString.append(QString("Content-Type: application/json\r\n").toUtf8());

    QString jsonString = QString("{");
    jsonString.append("\"method\":");
    jsonString.append("\"AuthenticatePlain\"");
    jsonString.append(",\"loginName\":");
    jsonString.append("\"[email protected]\"");
    jsonString.append(",\"password\":");
    jsonString.append("\"mypass\"");
    jsonString.append("}");

    QByteArray json = jsonString.toUtf8();

    baseString.append(QString("Content-Length:").toUtf8());
    baseString.append(QString::number(json.length()));
    baseString.append("\r\n").toUtf8();
    baseString.append(QString("\r\n").toUtf8());
    baseString.append(json);

    request = QNetworkRequest(QUrl("https://www.superService.com/api/1.7/ssapi.asmx"));
    request.setRawHeader()


    qDebug() < "Base String: "< baseString;


    m_qnam->post(request,baseString.toUtf8());

Ответы на вопрос(1)

Ваш ответ на вопрос