Показано с 1 по 3 из 3.

Тема: Скачать часть файла (wget, curl)

  1. #1
    Регистрация
    08.04.2013
    Сообщений
    3,070

    По умолчанию Скачать часть файла (wget, curl)

    Прошу помощи у знающих людей.

    Имеем сервер hostname , с которого необходимо каждые N секунд скачивать файл (страница в формате html).
    Страница объёмная на несколько мегабайт и весь процесс закачки растягивается на продолжительное время (около 15-20 секунд), которое оказывается больше N.
    Всю страницу скачивать не обязательно, а нужная для нас информация находится в первых 200 килобайтах.

    Хост не поддерживает частичное скачивание/докачку, поэтому специальные ключи c range

    wget https://hostname -c --header="Range: bytes=0-200000" -O $file
    curl https://hostname --range 0-200000 -o $file

    не работают и всё равно скачивается вся страница целиком.

    Какие есть работающие приёмы или инструменты по ограничению размера скачиваемого файла?

    Пока только приходит мысль об очень плохом и грязном методе: запускать скачивание и в цикле непрерывно проверять увеличивающийся файл ($file) на диске на предмет достижения определённого размера, после чего принудительно обрубать процесс wget или curl.

  2. #2
    Регистрация
    02.02.2007
    Сообщений
    11,257

    По умолчанию

    А есть строгая необходимость остаться в рамках скриптовых языков? В языках высокого уровня это реализуется достаточно тривиально.

  3. #3
    Регистрация
    08.04.2013
    Сообщений
    3,070

    По умолчанию

    Цитата Сообщение от KHunter Посмотреть сообщение
    А есть строгая необходимость остаться в рамках скриптовых языков? В языках высокого уровня это реализуется достаточно тривиально.
    На данном этапе робот только на bash.
    В принципе, можно написать свой отдельный "downloader", но лень и хочется верить в то, что есть уже готовые инструменты для такой мелкой задачи.

Tags for this Thread

Ваши права в разделе

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •