HTTP tak naprawdę nie ma pojęcia katalogów. Ukośniki inne niż pierwsze trzy (http://example.com/
) nie mają żadnego specjalnego znaczenia, z wyjątkiem ..
w relatywnych adresach URL. Tak więc, o ile serwer nie stosuje się do określonego formatu, nie ma sposobu na “pobranie wszystkich plików z podanego katalogu”.
Jeśli chcesz pobrać całą stronę, najlepszym rozwiązaniem jest rekurencyjne przejście przez wszystkie linki na stronie głównej. Curl nie potrafi tego zrobić, ale wget tak. To zadziała, jeśli strona nie jest zbyt dynamiczna (w szczególności, wget nie zobaczy linków, które są skonstruowane przez kod Javascript). Zacznij od wget -r http://example.com/
, a następnie zajrzyj do “Recursive Retrieval Options” i “Recursive Accept/Reject Options” w podręczniku wget po więcej istotnych opcji (głębokość rekursji, listy wykluczeń, itp.).
Jeśli strona próbuje zablokować automatyczne pobieranie, może być konieczna zmiana łańcucha agenta użytkownika (-U Mozilla
), oraz zignorowanie robots.txt
(utwórz pusty plik example.com/robots.txt
i użyj opcji -nc
, aby wget nie próbował go pobrać z serwera).