Как я могу ограничить размер загруженного файла в wget?

Я хочу использовать wget (из php-скрипта) для загрузки файлов изображений, но не хочу загружать файлы по определенному размеру.

Могу ли я ограничить размер файла wget ? Если нет, то что лучше?

3 Solutions collect form web for “Как я могу ограничить размер загруженного файла в wget?”

Если вы загружаете скрипты, вам следует использовать вместо этого curl . Wget может анализировать выходные данные и рекурсивно извлекать целые сайты, но curl имеет больше возможностей, связанных с фактической загрузкой определенного файла. Вот соответствующий параметр на странице руководства:

–max-Filesize
Укажите максимальный размер (в байтах) загружаемого файла. Если запрошенный файл больше этого значения, передача не начнется, и завиток вернется с кодом выхода 63.
ПРИМЕЧАНИЕ. Размер файла не всегда известен до загрузки, и для таких файлов этот параметр не действует, даже если передача файлов заканчивается выше указанного предела.

Замечание об этом только для некоторых файлов стоит рассмотреть. Клиент зависит от сервера, чтобы сообщить, насколько большой будет файл, прежде чем он начнет загрузку. Большинство, но, конечно, не все серверы сообщают об этом.

Если вы хотите использовать wget, вот способ проверить размер файла без загрузки:

 wget --spider $URL 2>&1 | awk '/Length/ {print $2}' 

где $URL – это URL-адрес файла, который вы хотите загрузить, конечно.

Таким образом, вы можете настроить свой сценарий на основе вывода. такие как:

 { [ $(wget --spider $URL 2>&1 | awk '/Length/ {print $2}') -lt 20971520 ] && wget $URL; } || echo file to big 

для ограничения размера загрузки до 20 МБ.

(код уродливый, только для информационных целей).

Кажется, нет разумного способа установить максимальный размер файла с помощью wget.

  • Как создать сайт с одинаковыми названиями страниц и контента?
  • Curl-эквивалент wget's -read-timeout = X
  • Как создать каталоги, содержащие index.html с помощью wget -recursive?
  • Как я могу обновить сертификаты в своей системе, чтобы исправить ошибку wget: «Не удалось установить соединение SSL»?
  • вывод команды curl в переменной
  • После загрузки файла .asp или .php его можно преобразовать в .html-файл?
  • Wget regex не удается получить файлы через ftp
  • замена внутри параллельной командной строки
  • Проверка сертификата wget -c веб-сайта
  • Как может отсутствовать --compression в моем wget?
  • Команда wget по-прежнему загружает папку после исключения
  • Interesting Posts

    Предоставьте два аргумента одному варианту с помощью getopts

    Скрипт Perl работает отлично в интерактивной оболочке, но не как задание cron

    Отключение электронной почты для учетной записи

    Создайте UDP для TCP-моста с помощью socat / netcat для управления командами управления для медиаплеера vlc

    Можно ли использовать другой путь вместо / home?

    Как я могу выполнить скрипт как root, выполнить некоторые команды в нем как конкретный пользователь и только одну команду как root

    Как изменить параметры компилятора с помощью AutoMake?

    Procmail не работает

    Как работает опция –set-mark в Netfilter (IPTABLES)?

    Каков самый простой способ отправки электронной почты между двумя компьютерами?

    Как заставить человека (1) использовать всю ширину терминала?

    Белый список определенных двоичных файлов и скриптов внутри монтирования noexec / nosuid?

    Использовать установщик Synaptic Package по умолчанию

    Как избавиться от сообщения «блоков», данного cpio?

    Как заставить службу systemd приостанавливать загрузку при ожидании ввода пользователя?

    Linux и Unix - лучшая ОС в мире.