Files
spark-store/src/utils/httprequest.cpp
zty199 2d1ca2463e feat: adapt to Qt6
adapt to Qt6; fix a few bugs

Log: adapt to Qt6; bump version to 4.2.14
2024-06-21 01:55:09 +08:00

48 lines
1.7 KiB
C++

#include "httprequest.h"
HttpRequest::HttpRequest(QObject *parent):QObject(parent)
{
QString headers = "Mozilla/5.0 Spark-Store/"+ QString(APP_VERSION)+" (Linux; "+QSysInfo::prettyProductName().toUtf8()+");";
QByteArray ba = headers.toLatin1();
rawHeaders = strdup(ba.data());
}
// 在析构函数中释放 rawHeaders 的内存
HttpRequest::~HttpRequest()
{
free(rawHeaders);
}
void HttpRequest::getRequest(QNetworkRequest request)
{
QNetworkAccessManager *naManager = new QNetworkAccessManager(this);
request.setRawHeader("User-Agent", rawHeaders);
request.setRawHeader("Content-Type", "charset='utf-8'");
request.setRawHeader("Content-Type", "application/json");
naManager->get(request);
QObject::connect(naManager, &QNetworkAccessManager::finished, this, &HttpRequest::readdata_slot);
}
void HttpRequest::readdata_slot(QNetworkReply *reply)
{
emit finished(reply->readAll());
}
QString HttpRequest::postRequest(QString url, QString jsondata)
{
QByteArray array = jsondata.toLatin1();
QNetworkRequest request;
QNetworkAccessManager *naManager = new QNetworkAccessManager(this);
QUrl strUrl = url.replace("+", "%2B");
request.setUrl(strUrl);
request.setRawHeader("User-Agent", rawHeaders);
request.setRawHeader("Content-Type", "charset='utf-8'");
request.setRawHeader("Content-Type", "application/json");
QNetworkReply *reply = naManager->post(request, array);
QEventLoop eventLoop;
connect(naManager, SIGNAL(finished(QNetworkReply *)), &eventLoop, SLOT(quit()));
eventLoop.exec();
QString strReply(reply->readAll());
reply->deleteLater();
return strReply;
}