Russian Qt Forum
Ноябрь 23, 2024, 16:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Получения HTML кода страницы  (Прочитано 6482 раз)
alexlogvinenkoit
Гость
« : Февраль 12, 2012, 11:25 »

Здравствуйте!

Подскажите, пожалуйста, как средствами Qt можно получить HTML код начальной страницы в интернете просто по доменному имени, не указывая index.html или index.htm? Видел метод QHttp::get(...), но не разобрался, если это вообще то, что мне нужно...

Спасибо!
Записан
mutineer
Гость
« Ответ #1 : Февраль 12, 2012, 11:58 »

Нет, это не то. Тебе нужен QNetworkAccessManager
Записан
thechicho
Гость
« Ответ #2 : Февраль 12, 2012, 12:46 »

http://pastebin.com/DMY55qv0
Записан
alexlogvinenkoit
Гость
« Ответ #3 : Февраль 12, 2012, 16:31 »

Код:

#include <QApplication>
#include <QDebug>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>
#include <QIODevice>
#include <QUrl>

class MyClass : public QObject{

    Q_OBJECT

public slots:
    void onFinished() {
        QIODevice * content = static_cast<QIODevice*>(QObject::sender());
        qDebug() << content->readAll();
        content->deleteLater();
    }
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QNetworkAccessManager nam;
    MyClass obj;

    QNetworkReply * reply = nam.get(QNetworkRequest(QUrl("http://google.com")));
    QObject::connect(reply, SIGNAL(finished()), &obj, SLOT(onFinished()));

    app.exec();
}


Вот такую вещь нашел, перелопатил под себя и все заработало Улыбающийся
Просто для себя не в debug вывожу, а сохраняю в QByteArray и уже с ним по-своему работаю...
Всем спасибо, проблему решил!!! УлыбающийсяУлыбающийсяУлыбающийся
Записан
mutineer
Гость
« Ответ #4 : Февраль 12, 2012, 19:33 »

Подключись к QNetworkAccessManager::finished (QNetworkReply * reply) и избавишься от каста в слоте
Записан
thechicho
Гость
« Ответ #5 : Февраль 12, 2012, 22:28 »

void onFinished() {
        QIODevice * content = static_cast<QIODevice*>(QObject::sender());
        qDebug() << content->readAll();
        content->deleteLater();
}

программист-извращенец это писал Веселый
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.262 секунд. Запросов: 20.