Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT] QHttp get в QString


Автор: Валерия 27.6.2011, 22:42
Новичек в QT.
Не выходит банально послать get запрос и сохранить ответ в переменную.
Делаю так:
Код

    QString str1 = "";
    QHttp http;
    http.get("http://bash.org.ru", str1);
    http.close();

    ui->textEdit->setText(str1);

Естественно не работает, т.к второй аргумент http.get должен быть каким-то QIODevice
Как сделать?

Автор: borisbn 28.6.2011, 08:21
Цитата(Валерия @  27.6.2011,  22:42 Найти цитируемый пост)
т.к второй аргумент http.get должен быть каким-то QIODevice
Как сделать?

таки дать ему QIoDevice
Код

QString str;
QBuffer buffer( &str );
buffer.open( QIODevice::WriteOnly ) );
QHttp http;
http.get( "http://bash.org.ru", &buffer );
// в str будет нужная строка

учти, что класс QHttp
Цитата(QtDoc)

This class is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

Автор: Валерия 28.6.2011, 13:35
borisbn, спасибки!!)))
Хотя оно выдало "no matching function for call to ‘QBuffer::QBuffer(QString*)’", но это не важно, потому что если этот класс устарел, то и разбираться нет смысла smile
А что стоит использовать вместо QHttp?

Автор: borisbn 28.6.2011, 13:39
Цитата(Валерия @  28.6.2011,  13:35 Найти цитируемый пост)
А что стоит использовать вместо QHttp?

Цитата

This class provides a direct interface to HTTP that allows you to download and upload data with the HTTP protocol. However, for new applications, it is recommended to use QNetworkAccessManager and QNetworkReply, as those classes possess a simpler, yet more powerful API and a more modern protocol implementation.


Валерия, ты http://doc.qt.nokia.com/latest/qhttp.html#details (или Qt Assistant) читала ?

Автор: Валерия 28.6.2011, 13:49
borisbn, уже читаю smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)