6.3 — Requêtes et téléchargements avec curl et wget
curl envoie des requêtes et affiche ou enregistre la réponse. wget est particulièrement pratique pour télécharger des fichiers de manière non interactive.
Utiliser curl
Afficher une page :
curl https://example.com
Afficher uniquement les en-têtes :
curl -I https://example.com
Suivre les redirections et enregistrer :
curl -L -o fichier.zip https://example.com/fichier.zip
curl -LO https://example.com/fichier.zip
Échouer si le serveur renvoie une erreur HTTP :
curl --fail --show-error --location -o fichier.zip URL
Afficher les détails de connexion :
curl -v https://example.com
curl -w '\nHTTP=%{http_code} Temps=%{time_total}s\n' -o /dev/null -sS https://example.com
Tester une API JSON :
curl --fail --silent --show-error \
-H 'Accept: application/json' \
https://api.example.com/status
Ne placez pas un jeton secret directement dans une capture d'écran, l'historique du shell ou une documentation partagée.
Utiliser wget
wget https://example.com/fichier.iso
wget -O image.iso https://example.com/fichier.iso
wget -c https://example.com/gros-fichier.iso
-c tente de reprendre un téléchargement interrompu si le serveur le permet.
Contrôler un téléchargement
file fichier.zip
sha256sum fichier.zip
Comparer la somme SHA-256 avec une valeur obtenue depuis une source officielle indépendante :
echo 'SOMME_ATTENDUE fichier.zip' | sha256sum -c -
Sécurité TLS
Éviter les options curl -k ou wget --no-check-certificate, qui désactivent la validation du certificat. Sur un réseau interne, installer l'autorité de certification correcte constitue la solution durable.
Ne pas exécuter directement un téléchargement
Éviter :
curl URL | sudo sh
Procédure plus sûre : télécharger, vérifier la source et la somme, lire le script, puis l'exécuter avec les droits strictement nécessaires.