Russian Qt Forum

Qt => Работа с сетью => Тема начата: DpoHro от Май 30, 2008, 19:35



Название: QHttp - докачка файла и проверка размера
Отправлено: DpoHro от Май 30, 2008, 19:35
Есть необходимость:
1) Узнать размер закачиваемого файла
2) Реализовать докачку файлов с использованием QHttp или другого кутишного класса

Как всегда ничего не пойму как сделать? Вроде должна быть такая возможность но пока не нашел.
А Нужно очень!!!


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: lit-uriy от Май 30, 2008, 22:37
я в этом вообще валенок, но мне бы в глову не пришло что это предоставлено библиотекой Qt. Наверно это какой-то протокол специальный. Так что мне тоже интересно узнать, тем паче, что предстоит подобную вещь сделать. Если что-нибудь накопаешь отпишись пожалуйста.


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: DpoHro от Май 30, 2008, 22:50
Ну да, я тож собственно валенком стараюсь прикинуться.
=)

Вобщем это скорее относится к спецификации протокола, но может кто делал, знает как и что?


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: Sergeich от Май 30, 2008, 23:20
Читать спецификацию HTTP-протокола, в частности http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: DpoHro от Июнь 10, 2008, 23:33
Итак, изыскания протокола результатов не дали!
Может кто реализовывал это уже?

Дайте пример своего кода! А то я не пойму, как ни пытаюсь - не выходит!


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: ритт от Июнь 11, 2008, 13:48
ыы...тогда искать xviservicethief и разбираться как там сделано )


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: Sergeich от Июнь 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 до конца файла
Что сложно осилить несколько страниц на английском?


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: DpoHro от Июнь 11, 2008, 19:40
Ну что так нервничаешь да?

Пробовал я range, от сервера отлуп...


Название: Re: QHttp - докачка файла и проверка размера
Отправлено: Sergeich от Июнь 11, 2008, 19:57
Ну что так нервничаешь да?

Пробовал я range, от сервера отлуп...
Я не нервничаю, я возмущаюсь.
Что за отлуп? Какой код ошибки? Какой был послан запрос? Какой пришел ответ?