HTTP насправді не має поняття каталогів. Штрихи, окрім перших трьох ( http://example.com/
), не мають особливого значення, за винятком ..
відносних URL-адрес. Тому, якщо сервер не дотримується певного формату, немає можливості "завантажити всі файли у вказаному каталозі".
Якщо ви хочете завантажити весь сайт, найкраще рекурсивно переходити всі посилання на головній сторінці. Curl не може цього зробити, але wget може. Це буде працювати, якщо веб-сайт не надто динамічний (зокрема, wget не побачить посилання, побудовані за допомогою коду Javascript). Почніть з wget -r http://example.com/
та перегляньте "Параметри рекурсивного пошуку" та "Параметри рекурсивного прийому / відхилення" в посібнику wget для отримання більш релевантних параметрів (глибина рекурсії, списки виключень тощо).
Якщо веб-сайт намагається заблокувати автоматизовані завантаження, можливо, вам доведеться змінити рядок агента користувача ( -U Mozilla
) та проігнорувати robots.txt
(створити порожній файл example.com/robots.txt
та скористатися -nc
опцією, щоб wget не намагався завантажити його з сервера).