Есть веская причина, по которой это не может работать напрямую с HTTP, и это то, что URL не является путем к файлу, хотя использование /
в качестве разделителя может сделать его похожим на один, и они иногда соответствуют. 1
Традиционно (или исторически) веб-серверы часто отражают иерархию каталогов (для некоторых - например, Apache - это своего рода интеграл) и даже предоставляют индексы каталогов, очень похожие на файловую систему. Однако ничто в протоколе HTTP не требует этого.
Это очень важно, потому что если вы хотите применить Glob на говорим, все , что является подпутем http://foo/bar/
, если сервер не предоставляет какой - то механизм , чтобы предоставить вам такой (например , упомянутый выше индекс), нет ничего , чтобы применить его в Glob к . Там нет файловой системы для поиска. Например, только потому, что вы знаете, что есть страницы, 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, я предполагаю, исходя из его природы, что он может иметь форму, которая допускает прозрачное глобирование.
2. Это означает, что может быть действительный URL http://foo/bar/alt/whatever/stuff/
, который не будет включен, потому что он никоим образом не связан ни с чем в наборе вещей, связанных с http://foo/bar/index.html
. В отличие от файловых систем, веб-серверы не обязаны делать макет своего контента прозрачным, и при этом им не нужно делать это интуитивно очевидным способом.
curl "http://example.com/picture[1-10].jpg" -o "picture#1.jpg"