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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QHttp - докачка файла и проверка размера  (Прочитано 8931 раз)
DpoHro
Гость
« : Май 30, 2008, 19:35 »

Есть необходимость:
1) Узнать размер закачиваемого файла
2) Реализовать докачку файлов с использованием QHttp или другого кутишного класса

Как всегда ничего не пойму как сделать? Вроде должна быть такая возможность но пока не нашел.
А Нужно очень!!!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Май 30, 2008, 22:37 »

я в этом вообще валенок, но мне бы в глову не пришло что это предоставлено библиотекой Qt. Наверно это какой-то протокол специальный. Так что мне тоже интересно узнать, тем паче, что предстоит подобную вещь сделать. Если что-нибудь накопаешь отпишись пожалуйста.
Записан

Юра.
DpoHro
Гость
« Ответ #2 : Май 30, 2008, 22:50 »

Ну да, я тож собственно валенком стараюсь прикинуться.
=)

Вобщем это скорее относится к спецификации протокола, но может кто делал, знает как и что?
Записан
Sergeich
Гость
« Ответ #3 : Май 30, 2008, 23:20 »

Читать спецификацию HTTP-протокола, в частности http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
Записан
DpoHro
Гость
« Ответ #4 : Июнь 10, 2008, 23:33 »

Итак, изыскания протокола результатов не дали!
Может кто реализовывал это уже?

Дайте пример своего кода! А то я не пойму, как ни пытаюсь - не выходит!
Записан
ритт
Гость
« Ответ #5 : Июнь 11, 2008, 13:48 »

ыы...тогда искать xviservicethief и разбираться как там сделано )
Записан
Sergeich
Гость
« Ответ #6 : Июнь 11, 2008, 19:23 »

Итак, изыскания протокола результатов не дали!
Может кто реализовывал это уже?

Дайте пример своего кода! А то я не пойму, как ни пытаюсь - не выходит!
Мля!!! Что значит не дали!? Ты по ссылке ходил?
Там черным по белому написано: чтобы получить кусок файла надо использовать спецификатор Range, а чтобы  узнать размер закачиваемого файла Content-Length!
Код:
QHttpResponseHeader resHeader;
int fileSize = resHeader.value("content-length").toInt(); // 1) Узнать размер закачиваемого файла
//...
QHttpRequestHeader reqHeader;
int firstByte = 1024;
int lastByte=2047;
reqHeader.setValue( "range", QString("bytes=%1-%2").arg(startByte).arg(lastByte) ); // 2) Читаем байты с 1024 по 2047
//или
reqHeader.setValue( "range", QString("bytes=%1-").arg(startByte) ); // 2) Читаем байты с 1024 до конца файла
Что сложно осилить несколько страниц на английском?
Записан
DpoHro
Гость
« Ответ #7 : Июнь 11, 2008, 19:40 »

Ну что так нервничаешь да?

Пробовал я range, от сервера отлуп...
Записан
Sergeich
Гость
« Ответ #8 : Июнь 11, 2008, 19:57 »

Ну что так нервничаешь да?

Пробовал я range, от сервера отлуп...
Я не нервничаю, я возмущаюсь.
Что за отлуп? Какой код ошибки? Какой был послан запрос? Какой пришел ответ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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