Le HTTP n'a pas vraiment de notion de répertoire. Les barres obliques autres que les trois premières (http://example.com/
) n'ont pas de signification particulière, sauf en ce qui concerne les ..
dans les URL relatives. Ainsi, à moins que le serveur ne suive un format particulier, il n'y a pas moyen de “télécharger tous les fichiers dans le répertoire spécifié”.
Si vous voulez télécharger l'ensemble du site, votre meilleure chance est de parcourir tous les liens de la page principale de manière récursive. Curl ne peut pas le faire, mais wget le peut. Cela fonctionnera si le site n'est pas trop dynamique (en particulier, wget ne verra pas les liens qui sont construits par du code Javascript). Commencez par wget -r http://example.com/
, et regardez sous “Options de récupération récursive” et “Options d'acceptation/refus récursives” dans le manuel de wget pour des options plus pertinentes (profondeur de récursion, listes d'exclusion, etc).
Si le site web essaie de bloquer les téléchargements automatisés, vous devrez peut-être modifier la chaîne de l'agent utilisateur (-U Mozilla
), et ignorer robots.txt
(créer un fichier vide example.com/robots.txt
et utiliser l'option -nc
pour que wget n'essaie pas de le télécharger à partir du serveur).