HTTP на самом деле не имеет понятия о каталогах. Косые черты, кроме первых трех ( http://example.com/
), не имеют какого-либо специального значения, кроме как ..
в относительных URL. Поэтому, если сервер не следует определенному формату, нет способа «загрузить все файлы в указанном каталоге».
Если вы хотите загрузить весь сайт, лучше всего рекурсивно просматривать все ссылки на главной странице. Керл не может этого сделать, но wget может. Это будет работать, если веб-сайт не слишком динамичен (в частности, wget не будет видеть ссылки, созданные с помощью кода Javascript). Начните с wget -r http://example.com/
и посмотрите «Параметры рекурсивного извлечения» и «Параметры рекурсивного принятия / отклонения» в руководстве по wget для получения более соответствующих параметров (глубина рекурсии, списки исключений и т. Д.).
Если веб-сайт пытается заблокировать автоматические загрузки, вам может потребоваться изменить строку пользовательского агента ( -U Mozilla
) и игнорировать ее robots.txt
(создайте пустой файл example.com/robots.txt
и используйте этот -nc
параметр, чтобы wget не пытался загрузить его с сервера).