Qt Http Request
Не могу написать класс который бы возращал по url данные страницы, он либо не возращает на второе обращение ничего, либо при инцилизации на другой форме вообще ничего не возращает Использую QNetworkAccessManager httpwebapi.h
#ifndef HTTPWEBAPI_H
#define HTTPWEBAPI_H
#include <QObject>
#include <QtNetwork>
#include <QString>
class HttpWebAPI : public QObject
{
Q_OBJECT
public:
explicit HttpWebAPI(QObject *parent = nullptr);
~HttpWebAPI();
signals:
public slots:
QString HttpReturn(QString http);
QString GetMacAdress();
private:
QNetworkAccessManager *manager;
};
#endif // HTTPWEBAPI_H
httpwebapi.cpp:
#include "httpwebapi.h"
HttpWebAPI::HttpWebAPI(QObject *parent) : QObject(parent)
{
manager = new QNetworkAccessManager(this);
}
HttpWebAPI::~HttpWebAPI()
{
delete manager;
}
QString HttpWebAPI::HttpReturn(QString http)
{
QNetworkReply *httpReturn = manager->get(QNetworkRequest(QUrl(http)));
QEventLoop eventLoop;
QObject::connect(httpReturn, SIGNAL(finished()), &eventLoop, SLOT(quit()));
eventLoop.exec();
return QString::fromUtf8(httpReturn->readAll());
}
QString HttpWebAPI::GetMacAdress()
{
foreach(QNetworkInterface netInterface, QNetworkInterface::allInterfaces())
{
// Return only the first non-loopback MAC Address
if (!(netInterface.flags() & QNetworkInterface::IsLoopBack))
return netInterface.hardwareAddress();
}
return QString();
}