在Qt中设置请求字段发送到服务器

Setting request fields in Qt to be sent to server

我有一个允许用户输入用户名和密码的软件,然后提交一个请求,该请求被发送到我的 sailsjs 服务器,我想使用 [=10= 读取它] 和 req.password.

如何设置请求?目前我只知道如何使用 QNetworkRequest.setRawHeader("username", username) 设置 header,其中服务器端将使用 req.headers.username 访问,这不是我想要的。

我这样做是因为我的服务器中已经有一些代码使用 req.username 读取用户名,所以我需要找到一种方法来设置 req 字段。但是我想从我的客户端使用 Qt 来完成。任何帮助将不胜感激。提前致谢。

jsonString

中传递用户名和密码
// Build your JSON string as usual
QByteArray jsonString = "{\"method\":\"AuthenticatePlain\",\"loginName\":\"username@domain.com\",\"password\":\"mypass\"}";

// For your "Content-Length" header
QByteArray postDataSize = QByteArray::number(jsonString.size());

// Time for building your request
QUrl serviceURL("https://www.superService.com/api/1.7/ssapi.asmx");
QNetworkRequest request(serviceURL);

// Add the headers specifying their names and their values with the following method : void QNetworkRequest::setRawHeader(const QByteArray & headerName, const QByteArray & headerValue);
request.setRawHeader("User-Agent", "My app name v0.1");
request.setRawHeader("X-Custom-User-Agent", "My app name v0.1");
request.setRawHeader("Content-Type", "application/json");
request.setRawHeader("Content-Length", postDataSize);

// Use QNetworkReply * QNetworkAccessManager::post(const QNetworkRequest & request, const QByteArray & data); to send your request. Qt will rearrange everything correctly.
QNetworkReply * reply = m_qnam->post(request, jsonString);