-1

I want to POST some info to a php and GET the result from that php. My POST should look like: www.sample.com/test.php?un=user&pass=123345 I am trying all variants with no success:

m_NetworkAccessMNGR = new QNetworkAccessManager(this);
connect(m_NetworkAccessMNGR, SIGNAL(finished(QNetworkReply*)),
        this,SLOT(slotFinishRequest(QNetworkReply*)));
QNetworkRequest networkRequest;
networkRequest.setUrl(QUrl("http://www.sample.com/test.php?un=user&pass=123345"));

QNetworkReply *reply = m_NetworkAccessMNGR->get(networkRequest);

connect(reply, SIGNAL(readyRead()),
        this, SLOT(slotReadyRead()));
connect(reply, SIGNAL(finished()),
        this, SLOT(slotOnRequestCompleted()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
        this, SLOT(slotOnRequestError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)),
         this, SLOT(slotSslErrors(QList<QSslError>)));

The code doesn't execute any of these slots.
Does anybody has any ideea on what is the problem?
Thank you

Lucian
  • 874
  • 11
  • 33
  • Did you notice that you are calling `QNetworkManager::get` instead of `QNetworkManager::post` ? [Here](http://stackoverflow.com/questions/18439138/make-http-post-request-with-a-list-of-named-parameters-in-qt/18439557#18439557) was a question about POST request with named parameters – epsilon Oct 04 '13 at 12:25

1 Answers1

4

Do you have an event loop somewhere else in your code?

If not, try this :

QEventLoop loop;

m_NetworkAccessMNGR = new QNetworkAccessManager(this);
QNetworkRequest networkRequest;
networkRequest.setUrl(QUrl("http://www.sample.com/test.php?un=user&pass=123345"));

QNetworkReply *reply = m_NetworkAccessMNGR->get(networkRequest);

connect(reply, SIGNAL(readyRead()),
        this, SLOT(slotReadyRead()));
connect(reply, SIGNAL(finished()),
        this, SLOT(slotOnRequestCompleted()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
        this, SLOT(slotOnRequestError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)),
        this, SLOT(slotSslErrors(QList<QSslError>)));

connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();

Does that work any better?

bh42
  • 115
  • 6