wget с подстановочными знаками при загрузке http

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

https://foo/bar.1234.tar.gz 

Согласно странице man , wget позволяет вам отключать и использовать globbing при работе с ftp-сайтом, однако у меня есть URL-адрес http.

Как я могу использовать подстановочный знак при использовании wget? Я использую gnu wget.

Вещи, которые я пробовал.

 /usr/local/bin/wget -r "https://foo/bar.*.tar.gz" -P /tmp 

Обновить

Использование -A вызывает загрузку всех файлов, заканчивающихся на .tar.gz на сервере.

 /usr/local/bin/wget -r "https://foo/" -P /tmp -A "bar.*.tar.gz" 

Обновить

Из ответов это синтаксис, который в конечном итоге сработал.

 /usr/local/bin/wget -r -l1 -np "https://foo" -P /tmp -A "bar*.tar.gz" 

2 Solutions collect form web for “wget с подстановочными знаками при загрузке http”

Я думаю, что эти переключатели будут делать то, что вы хотите, с помощью wget :

  -A acclist --accept acclist -R rejlist --reject rejlist Specify comma-separated lists of file name suffixes or patterns to accept or reject. Note that if any of the wildcard characters, *, ?, [ or ], appear in an element of acclist or rejlist, it will be treated as a pattern, rather than a suffix. --accept-regex urlregex --reject-regex urlregex Specify a regular expression to accept or reject the complete URL. 

пример

 $ wget -r --no-parent -A 'bar.*.tar.gz' http://url/dir/ 

Существует веская причина, что это не может работать напрямую с HTTP, и это то, что URL-адрес не является файловым путем, хотя использование / в качестве разделителя может сделать его похожим на один, и иногда они соответствуют. 1

Традиционно (или, исторически) веб-серверы часто выполняют зеркальные иерархии каталогов (для некоторых – например, Apache – это своего рода интеграл) и даже предоставляют индексы каталогов, подобные файловой системе. Однако об этом HTTP-протоколе ничего не требуется.

Это важно, потому что если вы хотите применить glob, скажем, все, что является подходом к http://foo/bar/ , если только сервер не предоставляет какой-либо механизм для предоставления вам такого (например, вышеупомянутого индекса), ничего нет применить его glob to . Для поиска нет файловой системы. Например, только потому, что вы знаете, что есть страницы http://foo/bar/one.html и http://foo/bar/two.html это не значит, что вы можете получить список файлов и подкаталогов через http://foo/bar/ . Это было бы полностью в протоколе для сервера, чтобы вернуть 404 для этого. Или он может вернуть список файлов. Или он может отправить вам приятный jpg-файл. И т.п.

Таким образом, здесь нет стандарта, который wget может использовать. AFAICT, wget работает, чтобы отразить иерархию путей , активно изучая ссылки на каждой странице . Другими словами, если вы рекурсивно зеркалируете http://foo/bar/index.html он загружает index.html а затем извлекает ссылки, которые являются подпутью этого. 2 Переключатель -A – это просто фильтр, который применяется в этом процессе.

Короче говоря, если вы знаете, что эти файлы индексируются где-то, вы можете начать с того, что используете -A . Если нет, то вам не повезло.


1. Конечно, URL-адрес FTP также является URL-адресом. Однако, хотя я мало знаю о протоколе FTP, я думаю, исходя из его природы, что это может быть форма, которая допускает прозрачное globbing.

2. Это означает, что может существовать допустимый URL http://foo/bar/alt/whatever/stuff/ , который не будет включен, потому что он никоим образом не связан ни с чем в наборе вещей, связанных с http://foo/bar/index.html . В отличие от файловых систем, веб-серверы не обязаны делать макет своего контента прозрачным и не нужно делать это интуитивно очевидным способом.

  • Wget - получение рекурсивных URL-адресов из списка URL-адресов
  • Скажите wget, чтобы он не попадал в URL-адрес, соответствующий шаблону?
  • wget конвертировать файл tgz в HTML
  • Как сделать рекурсивную загрузку с помощью gwget (wget frontend)?
  • Кэш DNS для wget
  • Попытка получить динамическую страницу с wget без успеха
  • Как запустить Firefox в режиме сценария
  • Загрузите контент из определенного <div> с помощью wget
  • `wait` не ждет` wget -background`
  • Как загрузить pdf-файлы, на которые ссылаются страницы одного или двух уровней внутри семени
  • Как получить wget для использования имени прямого URL-файла в качестве имени выходного файла для сокращенного URL-адреса
  • Interesting Posts

    Открытые порты без связанных PID

    Могу ли я узнать параметры автомонтирования?

    «Виртуальная» оболочка, т.е. лишение пользователя внутри процесса после входа в систему (SSH)

    Могу ли я установить цвета терминала на локальном компьютере, чтобы использовать те, которые были в машине I ssh?

    Wifi broadcom 4313 с проприетарным драйвером (Ubuntu) случайным образом останавливает подключение к беспроводным сетям

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

    Использовать символическую ссылку для перемещения каталога, созданного пакетом .deb – что-нибудь сломается?

    Не удалось загрузить в Mint с сообщением «s», чтобы пропустить монтаж

    Можно ли запустить Steam игры с помощью optirun?

    Остановить команду bash без сценария убийства

    Как вручную изменить индекс?

    Какой клиент для DECwindows?

    Модуль systemd для openvpn: как использовать файлы конфигурации, заканчивающиеся на .ovpn?

    Устранение неполадок SSH на сервере Ubuntu

    merge 2 LVMs имеют данные и одну и ту же группу томов без потери данных

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