Я пытаюсь подключиться к php-странице.QT QNetworkReply и Php
не имеет значения, что я делаю, но QNetworkReply всегда пуст.
это мой код, надеюсь, у кого-то появилась идея.
QUrl url("http://mysite.it/interface.php");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QUrlQuery params;
//list of params
url.setQuery(params);
connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply *)));
manager->post(request,params.toString(QUrl::FullyEncoded).toUtf8());
connect(this, SIGNAL(confirm_signal()), reciver, SLOT(recive_confirm()));
это слот для ответа
void database::replyFinished(QNetworkReply *reply){
if(reply->error())
{
qDebug() << "ERROR!";
qDebug() << reply->errorString();
}
else {
qDebug()<< reply->readAll().toInt();
qDebug()<< reply->readAll().trimmed();
QByteArray array = reply->readAll();
QString str(array);
reply->deleteLater();
qDebug() << "array" <<array;
qDebug() <<"string" <<str;
QString str2 = QString::fromUtf8(array.data(), array.size());
qDebug() <<str2;
int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
qDebug() << QVariant(statusCode).toString();
emit confirm_signal();
}
}
все QDebug() дает "" в качестве ответа на код статуса, который кроме "200".
<?php
json_encode("Ok");
?>
это код PHP в конце содержимое 'interface.php' файла? – Mike
Да, честно говоря, google не предоставил мне никаких подсказок о том, как отдать ответ. Протестировано с помощью echo и json_encode. – user3787626