Skip to main content

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.