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 éléments suivants ..
dans les URL relatives. Donc, à moins que le serveur ne suive un format particulier, il n'y a aucun moyen de "télécharger tous les fichiers dans le répertoire spécifié".
Si vous souhaitez télécharger l'ensemble du site, le mieux 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 avec wget -r http://example.com/
et consultez les rubriques "Options de récupération récursive" et "Options d'acceptation/de rejet récursif" dans le manuel wget pour obtenir des options plus pertinentes (profondeur de récursion, listes d'exclusion, etc.).
Si le site web tente de bloquer les téléchargements automatiques, vous devrez peut-être modifier la chaîne de l'agent utilisateur ( -U Mozilla
), et d'ignorer robots.txt
(créer un fichier vide example.com/robots.txt
et utiliser le -nc
pour que wget n'essaie pas de le télécharger depuis le serveur).