crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QBuffer и QHttp
kalombo
  опции профиля:
сообщение 21.9.2008, 17:42
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 37
Регистрация: 5.8.2008
Пользователь №: 252

Спасибо сказали: 0 раз(а)




Репутация:   0  


void HttpTester::httpRequestFinished(int requestId, bool error)
{
        if (requestId == getThemId)
    {
                 postId = http->request(m_header,0,&m_buffer); //m_buffer - QBuffer
        return;
        }
    if (postId == requestId)
    {
                QByteArray data;
        data = m_buffer.data();
        QString str(data);
        m_buffer.close();
        QMessageBox::warning(this,"Title",str);
        }
}

И в сообщение ерунда выводится, два квадратика и знак "меньше", сниффером смотрю - есть там ответ, состоящий из ни одной сотни символов. Я никак не могу понять, почему так происходит. Точно также использовал QBuffer в другой программе - всё работало. С горя пробовал вместо QBuffer использовать QTemporaryFile, результат отрицательный. Однако всё работает, если я делаю не http->request, а http->get, только через последний Куки то не передать, а мне их надо. Я просто не знаю, где можно поискать ошибку, может подскажете что еще можно попробовать сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sploid
  опции профиля:
сообщение 21.9.2008, 22:17
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 26.2.2008
Из: Москва
Пользователь №: 106

Спасибо сказали: 10 раз(а)




Репутация:   1  


два предолжения:

1.
if (postId == requestId)
    {
                QByteArray data;
        data = m_buffer.readAll();
        QString str(data);
        m_buffer.close();
        QMessageBox::warning(this,"Title",str);
        }


2. а ты не буфер подсовывай, а делай так:
при коннекте:
postId = http->request(m_header );
когда читаешь данные:
QByteArray data = http->readAll();

Сообщение отредактировал sploid - 21.9.2008, 22:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 5:33