新增产测与服务器的HTTP连接及交互功能
This commit is contained in:
38
FactoryTestTool/SourceCode/Network/httpClient.cpp
Normal file
38
FactoryTestTool/SourceCode/Network/httpClient.cpp
Normal file
@@ -0,0 +1,38 @@
|
||||
// httpClient.cpp
|
||||
#include <QDebug>
|
||||
#include "httpClient.h"
|
||||
|
||||
HttpClient::HttpClient(QObject* parent)
|
||||
: QObject(parent),
|
||||
networkManager(new QNetworkAccessManager(this))
|
||||
{
|
||||
connect(networkManager, &QNetworkAccessManager::finished, this, &HttpClient::onNetworkReplyFinished);
|
||||
}
|
||||
|
||||
void HttpClient::sendPostRequest(const QNetworkRequest& request, const QByteArray& jsonData)
|
||||
{
|
||||
qDebug() << "jsonData" << jsonData.data();
|
||||
networkManager->post(request, jsonData);
|
||||
}
|
||||
|
||||
void HttpClient::sendGetRequest(const QNetworkRequest& request)
|
||||
{
|
||||
networkManager->get(request);
|
||||
}
|
||||
|
||||
void HttpClient::onNetworkReplyFinished(QNetworkReply* reply)
|
||||
{
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
QByteArray responseData = reply->readAll();
|
||||
QJsonDocument jsonResponse = QJsonDocument::fromJson(responseData);
|
||||
QJsonObject jsonObject = jsonResponse.object();
|
||||
qDebug() << "jsonObject: " << jsonObject;
|
||||
emit requestFinished(jsonObject);
|
||||
}
|
||||
else {
|
||||
qDebug() << "reply->error(): " << reply->error();
|
||||
qDebug() << "errorString: " << reply->errorString();
|
||||
emit requestError(reply->errorString());
|
||||
}
|
||||
reply->deleteLater();
|
||||
}
|
||||
Reference in New Issue
Block a user