# 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 :

```bash
curl https://example.com
```

Afficher uniquement les en-têtes :

```bash
curl -I https://example.com
```

Suivre les redirections et enregistrer :

```bash
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 :

```bash
curl --fail --show-error --location -o fichier.zip URL
```

Afficher les détails de connexion :

```bash
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 :

```bash
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

```bash
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

```bash
file fichier.zip
sha256sum fichier.zip
```

Comparer la somme SHA-256 avec une valeur obtenue depuis une source officielle indépendante :

```bash
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 :

```text
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.