我有一个允许用户输入用户名和密码的软件,然后提交一个发送到我的 sailsjs 服务器的请求,我想用req.username
和{{1}来读取它}}
您如何设置请求?目前我只知道如何使用req.password
设置标头,其中服务器端将使用QNetworkRequest.setRawHeader("username", username)
访问,这不是我想要的。
我这样做是因为我的服务器中已经有一些使用req.headers.username
读取用户名的代码,所以我需要找到一种设置req.username
字段的方法。但是我想使用Qt从我的客户端做到这一点。任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:1)
在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);