Reputation: 109
I'm using QtCreator based on version 4.8 to develop an application for a device that uses linux with operating system.
I'm trying to make a POST order in QT I am using the following libraries
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
I have the following code snippets
{
QString msg;
QString url = "myURL";
QNetworkRequest request = QNetworkRequest(QUrl(url));
request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json; charset=UTF-8"));
QString message = QString("{\"message\" : %1}").arg("\"hello\"");
QByteArray AliveJson = message.toLatin1();
reply = manager->post(request, AliveJson);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finished(QNetworkReply*)));
}
void page100::finished(QNetworkReply *r)
{
qDebug()<<"METOD FINISHED CALLED!";
QString msg;
qDebug()<< r;
qDebug()<< "-----------------------------";
qDebug()<< reply;
if (r == reply) {
int status = r->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
if (r->error() == QNetworkReply::NoError && status >= 200 && status < 300) {
msg = QString("successfull reply (%1)").arg(status);//200
qDebug()<<reply->readAll();
} else {
msg = QString("failure reply (%1), %2").arg(status).arg(r->errorString());
qDebug()<<msg;
}
reply = NULL;
} else {
msg = QString("unknown reply, url=%1").arg(r->url().toString());
qDebug()<<msg;
}
r->deleteLater();
ui->plainTextEdit->setPlainText(ui->plainTextEdit->toPlainText() + msg);
qDebug()<<msg;
}
I always get the following error
failure reply(0), socket operation timed out
I tried to create a new url to communicate but I keep getting the same error.
device is properly connected to the internet. I have already done ping procedures and the device communicates correctly
Upvotes: 0
Views: 175