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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не могу составить заголовок http для zlib  (Прочитано 3061 раз)
admsasha
Гость
« : Декабрь 26, 2013, 16:26 »

Пишу, что-то вроде http-сервера. Хочу чтобы он слал упакованные тела.

В QByteArray result есть некий текст

составляю html заголовки.
Код:
            HTMLHead+="HTTP/1.1 200 OK\r\n";
            HTMLHead+="Content-Length: "+QString::number(result.size())+"\r\n";
            HTMLHead+="Content-Type: text/html\r\n";
            HTMLHead+="Content-Encoding: deflate\r\n";
            HTMLHead+="\r\n";
            result=HTMLHead+result;

И пытался сделать так
Код:
           HTMLHead+="Transfer-Encoding: chunked\r\n";
            HTMLHead+="Content-Type: text/html\r\n";
            HTMLHead+="Content-Encoding: deflate\r\n\r\n";
            HTMLHead+=QString::number(result.size(),16)+"\r\n";
            HTMLHead+=result;
            HTMLHead+="0\r\n";
            HTMLHead+="\r\n";
            result=HTMLHead;


result потом шлю в тот же сокет от куда пришел запрос.

При попытке получить данные через curl, получаю сообщение: "curl: (61) Error while processing content unencoding: invalid stored block lengths"

В браузере выводится упакованный вид. Т.е. что-то получает, но либо не дополучает, либо не может распаковать.


Что не так в составленных заголовках ?
Записан
Bepec
Гость
« Ответ #1 : Декабрь 26, 2013, 17:29 »

Тебе же написано - некорректная длина данных. Wireshark в руки и смотри.
Записан
admsasha
Гость
« Ответ #2 : Декабрь 27, 2013, 02:09 »

Тебе же написано - некорректная длина данных. Wireshark в руки и смотри.
Это я понимаю. Для этого я и привел пример формирования заголовка. Там видно, как я считаю длину. Мой вопрос был, где я не правильно его формирую, а не в чем причина.
Записан
carrygun
Гость
« Ответ #3 : Декабрь 27, 2013, 04:20 »

А result.size() не сильно ли большой? А то жет там форматирование надо какое для QString::number.
Записан
admsasha
Гость
« Ответ #4 : Декабрь 27, 2013, 04:29 »

А result.size() не сильно ли большой? А то жет там форматирование надо какое для QString::number.
1431 байт оригинал, 873 байт после упаковки (пакую через qCompress)
« Последнее редактирование: Декабрь 27, 2013, 04:31 от admsasha » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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