Приветствую.
Пишу простенькую файлокачалку с использование urllib2. Просто закачка уже работает, теперь хочу добавить докачку частично скачанных файлов.
Проблема в том, что из-за перенаправления запроса на сервере, изначально, имя скачиваемого файла не известно и я не могу определить скачан ли он уже или нет. В голову приходит сначала делать пробный запрос определять имя файла, его наличие и длину и на основе этих данных принимать решение о необходимости формирования второго запроса с заголовком «Range». Вопрос: насколько правилен и корректен такой подход с точки зрения нагрузки на сервер? Существуют ли другие способы решения это проблемы?
Если это важно, то качалка будет заниматься вытягиванием альбомов с Jamendo в oggvorbis формате по ссылкам вида http://www.jamendo.com/get/album/id/album/archiverestricted/redirect/${album_id}/?p2pnet=bittorrent&are=ogg3.
По поводу wget — он не подошел по двум причинам: во-первых из-за перенаправления не может правильно определить имя файла; во-вторых лишняя сущность при наличии urllib2 в стандартной библиотеке; в-третьих хочется разобраться с принципами организации протокола HTTP.