Параметр в конструкторе QNetworkAccessManager
необходим только для указания родительского элемента на основе QObject
, который будет отвечать за очистку (удаление) вашего объекта позднее и не нужен, если вы планируете вызывать delete
для него сами.
Я не совсем уверен, на что вы ссылаетесь, «никогда не загружается» или куда вы помещаете printf
, но для того, чтобы получить что-либо обратно, вам нужно сохранить указатель QNetworkReply
, который возвращается позвоните по номеру get()
.
И чтобы получить что-то от этого, вам нужно запустить цикл обработки событий. Если ваше приложение только для консоли (без графического интерфейса), вы можете использовать объект QCoreApplication
.
Попробуйте этот минимальный код:
#include <QCoreApplication>
#include <QNetworkAccessManager>
#include <QUrl>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QNetworkAccessManager *netMan = new QNetworkAccessManager();
QNetworkReply *reply = netMan->get(QNetworkRequest(QUrl("http://google.com")));
a.connect(reply, SIGNAL(finished()), SLOT(quit()));
a.exec();
qDebug() << reply->readAll();
delete netMan;
}