| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Скачать первые несколько байт файла |
| Автор: djusha 20.4.2011, 21:51 | ||
| Доброго времени суток! возникла необходимость получать скриптом не все файлы, а только первые несколько байт, поскольку нужная информация именно там В принципе приведенный ниже пример работает, но все равно долго... 5-7 секунд для скачивания первых байт это долго... Есть ли идеи получше?
|
| Автор: djusha 20.4.2011, 22:14 | ||
другой вопрос по вышеприведенному скрипту... хочу завернуть его в подпрограмму...
но получаю ошибку.... Variable "$size" will not stay shared at tic_by_image.cgi line 22. Variable "$res_content" will not stay shared at tic_by_image.cgi line 22. Variable "$max_size" will not stay shared at tic_by_image.cgi line 22. понимаю, что это из за того, что в подпрограмме вложенная программа "sub callback" как это оформить правильно? |
| Автор: Pfailed 21.4.2011, 07:20 | ||
Большую часть из этого времени занимают команды ftp. Открытие соединения, переход в нужную директорию, создание канала для передачи файла и т.д. В случае с http должно быть быстрее, потому как там выполняется только 1 запрос на сервер. Используйте анонимную подпрограмму. В таком духе
|
| Автор: djusha 21.4.2011, 21:34 | ||||
За подсказку в направлении анонимной подпрограммы большое человеческое спасибо! работает Для общего ознакомления... имеются ли еще какие либо пути для скачивания части файлов? |
| Автор: DurRandir 21.4.2011, 22:31 |
| Для HTTP можно указать Range-запрос. Не знаю правда, насколько просто это сделать через LWP. |
| Автор: djusha 25.4.2011, 05:49 |
| всем спасибо! Просто за скрипты берусь наскоками, иногда забываю, что раньше делал, и что мне раньше советовали |
| Автор: djusha 25.4.2011, 09:05 | ||
что то не так делаю... вместо 50 байт он всю страницу выдает...
|
| Автор: Pfailed 25.4.2011, 10:31 | ||
Читаем по ссылке http://forum.vingrad.ru/topic-323196/view-findpost/p-2304267.html
Добавлено через 6 минут и 47 секунд Плюс ко всему 'bytes=50-' означает "выдать весь файл кроме первых 50 байт" Скачать 50 байт, как можно догадаться 'bytes=0-50' |
| Автор: djusha 25.4.2011, 13:21 | ||||||
прочитать то прочитал... но....
понял, что это относится только к HTTP в любом случае спасибо! |