Qt Creator : Requête GET
Bon, je me prends la tête à vouloir récupérer le contenu d’une page html en C++ avec Qt. Pour l’instant j’arrive à récupérer uniquement le header à l’aide de ces codes:
{
QHttp *http = new QHttp(this);
http->setHost("www.gagou.ch");
http->get("/test/test.html");connect(http,SIGNAL(readyRead(QHttpResponseHeader)),this,SLOT(read(QHttpResponseHeader)));
}void example::read(QHttpResponseHeader response)
{
qDebug()<<response.toString();
}
Ou comme ceci:
{
QHttpRequestHeader header = QHttpRequestHeader("GET", "/test/test.html");
header.setValue("Host","www.gagou.ch");http = new QHttp(this);
http->setHost("www.gagou.ch");
http->request(header);connect(http,SIGNAL(requestFinished(int,bool)),this,SLOT(requestFinished(int,bool)));
}void example::requestFinished(int a, bool b)
{
qDebug()<<http->lastResponse().toString();
}
[EDIT] Finalement j’y suis arrivé, je cherchais à la mauvaise place, c’est pas QHttp mais QNetworkAccessManager qu’il faut utiliser:
{
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(requestFinished(QNetworkReply*)));manager->get(QNetworkRequest(QUrl("http://www.megaupload.com/?d=DHW86DGI")));
}void example::requestFinished(QNetworkReply *reply)
{
qDebug()<<reply->readAll();}