Débutant

Bien utiliser curl pour tester des URL en ligne de commande

Apprenez à utiliser curl pour tester des URL, suivre les redirections, envoyer des en-têtes HTTP et télécharger des fichiers en ligne de commande.

Bien utiliser curl pour tester des URL en ligne de commande

curl fait partie des outils les plus utiles quand on débute en ligne de commande sur Linux. Il sert à interroger une URL depuis un terminal, sans navigateur, ce qui en fait un excellent compagnon pour comprendre ce que renvoie un site web, une API ou un serveur de fichiers.

Dans ce tutoriel, vous allez apprendre à utiliser curl pour tester une URL, afficher les en-têtes HTTP, suivre les redirections, envoyer vos propres en-têtes et télécharger des fichiers. L’objectif est pratique : savoir lire les réponses les plus courantes et exécuter les commandes essentielles sans se perdre dans des options avancées inutiles au départ.

Le contenu reste volontairement centré sur des usages stables et fréquents de curl, afin de vous donner de bonnes bases pour vos diagnostics quotidiens en environnement Linux.

Prérequis

  • Disposer d’un terminal Linux.
  • Avoir curl installé sur la machine.
  • Connaître les notions de base suivantes : lancer une commande, lire sa sortie, se déplacer dans un répertoire.
  • Avoir accès à une ou plusieurs URL de test.

Matériel nécessaire

  • Terminal Linux
  • Commande curl installée
  • Connexion réseau fonctionnelle
  • URL HTTP ou HTTPS à tester

Étapes

  1. Comprendre le rôle de curl

    curl est une commande en ligne de commande qui permet de faire une requête vers une ressource identifiée par une URL. Dans le cadre de ce tutoriel, nous allons l’utiliser surtout avec des URL HTTP et HTTPS.

    L’idée principale est simple : au lieu d’ouvrir une page dans un navigateur, vous demandez directement au serveur ce qu’il renvoie. Cela permet de voir plus clairement le contenu reçu, les en-têtes HTTP, les redirections éventuelles et le comportement du téléchargement.

    Un usage minimal ressemble à ceci :

    bash
    curl https://exemple.test

    Avec cette forme simple, curl affiche généralement le corps de la réponse dans le terminal. Si l’URL renvoie une page HTML, vous verrez donc le code HTML. Si elle renvoie du texte brut, vous verrez ce texte. Si elle renvoie un fichier binaire, l’affichage dans le terminal ne sera pas approprié : dans ce cas, il faudra télécharger le fichier vers le disque, ce que nous verrons plus loin.

    Avant d’aller plus loin, retenez une idée importante : curl n’est pas seulement un outil de téléchargement. C’est aussi un outil d’inspection et de test très pratique pour comprendre ce qu’une URL renvoie réellement.

  2. Tester simplement une URL

    Des mains utilisent un ordinateur portable avec un terminal affiché pour tester simplement une adresse web en ligne de commande.
    Gros plan sur un terminal d’ordinateur portable affichant uniquement la réponse d’en-têtes HTTP avec curl.

    La première étape consiste à lancer une requête simple et à observer la sortie.

    bash
    curl https://exemple.test

    Cette commande demande la ressource située à l’URL indiquée et affiche le contenu renvoyé dans la sortie standard, donc dans votre terminal.

    En pratique, plusieurs cas sont fréquents :

    • La réponse est une page HTML : le terminal affiche le code source HTML.
    • La réponse est du JSON ou du texte : le contenu est lisible directement.
    • La réponse est volumineuse : l’affichage défile rapidement.
    • La réponse est un fichier binaire : le terminal affiche des caractères illisibles, ce qui n’est pas l’usage souhaité.

    Quand vous débutez, il est utile de rediriger la sortie vers un outil de lecture ou vers un fichier. Par exemple, pour enregistrer le contenu dans un fichier texte :

    bash
    curl https://exemple.test > reponse.txt

    Vous pourrez ensuite ouvrir reponse.txt avec un éditeur de texte ou l’afficher avec une commande simple comme cat si le contenu reste court.

    Cette commande de base est très utile pour vérifier qu’une URL répond, et pour voir immédiatement ce qu’elle retourne.

  3. Afficher seulement les en-têtes HTTP

    Un ordinateur portable affiche un téléchargement avec curl et un dossier de destination ouvert montrant un nouveau fichier.

    Souvent, on ne veut pas le contenu complet de la page, mais seulement les en-têtes de réponse. Les en-têtes HTTP indiquent par exemple le type de contenu, la longueur, ou encore la présence d’une redirection.

    Pour demander uniquement les en-têtes, utilisez :

    bash
    curl -I https://exemple.test

    Cette option est très pratique pour un premier diagnostic. Elle permet de répondre rapidement à des questions comme :

    • Le serveur répond-il ?
    • La réponse est-elle en HTTP ou HTTPS sur l’URL testée ?
    • Y a-t-il une redirection ?
    • Quel type de contenu est annoncé ?

    Dans la sortie, vous verrez notamment une ligne d’état HTTP, suivie de plusieurs en-têtes. Même sans interpréter tous les champs, cette vue vous donne déjà des informations très utiles.

    Par exemple, si vous cherchez à vérifier qu’une URL pointe bien vers une ressource précise, l’affichage des en-têtes est souvent plus lisible que l’affichage du corps entier.

  4. Afficher les en-têtes et le contenu

    Dans certains cas, vous voulez voir à la fois les en-têtes de réponse et le contenu. Cela permet de comprendre non seulement la nature de la réponse, mais aussi ce qu’elle contient réellement.

    Pour inclure les en-têtes dans la sortie, utilisez :

    bash
    curl -i https://exemple.test

    La sortie affichera d’abord les en-têtes HTTP, puis le corps de la réponse. C’est très utile pour une inspection manuelle rapide, par exemple quand vous testez une page web, un point d’entrée d’API ou un fichier texte servi par un serveur.

    Il faut simplement garder en tête que si le corps est très long, l’ensemble peut devenir difficile à lire dans le terminal. Dans ce cas, vous pouvez rediriger le résultat vers un fichier :

    bash
    curl -i https://exemple.test > sortie-complete.txt

    Vous obtenez alors un fichier contenant à la fois les en-têtes et le contenu, pratique pour relire la réponse calmement.

  5. Suivre les redirections

    De nombreuses URL ne renvoient pas directement la ressource finale. Elles répondent d’abord par une redirection vers une autre URL. C’est fréquent entre HTTP et HTTPS, entre un ancien et un nouveau chemin, ou entre une version avec et sans sous-domaine.

    Par défaut, curl n’applique pas automatiquement toutes les redirections quand vous utilisez une URL de ce type. Pour demander à curl de les suivre, utilisez l’option -L :

    bash
    curl -L https://exemple.test

    Cette option est essentielle pour tester le résultat final obtenu par un utilisateur après redirection.

    Elle est particulièrement utile dans les situations suivantes :

    • vérifier qu’une ancienne URL redirige bien vers la nouvelle ;
    • tester une URL qui force HTTPS ;
    • télécharger un fichier derrière une URL intermédiaire.

    Vous pouvez aussi combiner -L avec d’autres options. Par exemple, pour afficher les en-têtes de la réponse finale après suivi des redirections :

    bash
    curl -L -I https://exemple.test

    Ou pour voir les en-têtes et le contenu final :

    bash
    curl -L -i https://exemple.test

    Retenez ce réflexe : si une URL semble « fonctionner dans le navigateur » mais pas dans votre première commande curl, il faut souvent essayer avec -L.

  6. Envoyer des en-têtes personnalisés

    Un autre usage très fréquent de curl consiste à envoyer un ou plusieurs en-têtes HTTP personnalisés. Cela permet de simuler un client particulier, d’ajouter un jeton transmis par en-tête, ou simplement de tester la réaction d’un serveur à une information donnée.

    L’option la plus courante est -H, suivie de l’en-tête à envoyer :

    bash
    curl -H "Accept: application/json" https://exemple.test

    Dans cet exemple, vous indiquez au serveur que vous attendez idéalement une réponse au format JSON.

    Vous pouvez envoyer plusieurs en-têtes en répétant l’option :

    bash
    curl -H "Accept: application/json" -H "X-Test: demo" https://exemple.test

    Cette méthode est utile pour les tests manuels simples. Parmi les scénarios courants :

    • annoncer un type de contenu attendu avec Accept ;
    • ajouter un en-tête personnalisé demandé par une application ;
    • vérifier qu’un serveur réagit différemment selon les en-têtes reçus.

    Quand vous apprenez curl, il est important de distinguer deux choses : les en-têtes que le serveur vous renvoie, et ceux que vous envoyez au serveur. L’option -H agit sur la requête que vous émettez.

    Pour mieux observer le résultat, vous pouvez combiner cette option avec -i :

    bash
    curl -i -H "Accept: application/json" https://exemple.test

    Vous verrez alors la réponse complète, ce qui facilite la comparaison entre différents tests.

  7. Télécharger un fichier avec curl

    Quand une URL pointe vers un fichier, le plus utile n’est généralement pas d’afficher son contenu dans le terminal, mais de l’enregistrer sur le disque.

    Pour écrire la réponse dans un fichier choisi, utilisez l’option -o :

    bash
    curl -o fichier-local https://exemple.test/fichier

    Ici, fichier-local est le nom que vous donnez au fichier enregistré sur votre machine. Cette méthode est simple et explicite : vous maîtrisez le nom de destination.

    Exemple avec une extension parlante :

    bash
    curl -o archive.zip https://exemple.test/archive.zip

    Si l’URL renvoie bien un fichier, son contenu sera sauvegardé dans archive.zip dans le répertoire courant.

    Vous pouvez aussi demander à curl d’utiliser un nom basé sur celui présent dans l’URL, avec l’option -O :

    bash
    curl -O https://exemple.test/archive.zip

    Dans ce cas, le fichier est enregistré avec le nom final de l’URL, ici archive.zip.

    Le choix entre -o et -O est important :

    • -o : vous choisissez le nom local ;
    • -O : curl reprend le nom visible dans l’URL.

    Quand vous téléchargez un fichier derrière une redirection, combinez avec -L :

    bash
    curl -L -O https://exemple.test/telechargement

    C’est un cas très courant : une URL de téléchargement passe souvent par une ou plusieurs redirections avant d’atteindre le fichier final.

  8. Choisir un dossier de destination et vérifier le résultat

    Avant de télécharger, prenez l’habitude de vérifier dans quel répertoire vous vous trouvez. Le fichier sera enregistré dans le dossier courant si vous ne précisez qu’un nom simple.

    Vous pouvez d’abord lister le contenu du dossier actuel et vous déplacer si nécessaire avec vos commandes de base habituelles. Ensuite, téléchargez le fichier avec un nom explicite :

    bash
    curl -L -o mon-fichier.txt https://exemple.test/fichier.txt

    Après le téléchargement, vérifiez la présence du fichier dans le dossier courant. Cette étape simple évite beaucoup de confusion, notamment quand on lance plusieurs téléchargements depuis différents répertoires.

    Si vous voulez écrire directement dans un chemin précis, vous pouvez indiquer ce chemin dans l’argument de -o :

    bash
    curl -L -o ./downloads/mon-fichier.txt https://exemple.test/fichier.txt

    Le dossier cible doit déjà exister. Si le chemin n’est pas valide, la commande échouera.

    Cette approche est pratique pour ranger immédiatement les téléchargements au bon endroit, au lieu de déplacer les fichiers après coup.

  9. Combiner les options les plus utiles

    L’efficacité de curl vient beaucoup de la combinaison d’options simples. Pour un débutant, quelques assemblages reviennent souvent.

    Voir seulement les en-têtes en suivant les redirections :

    bash
    curl -L -I https://exemple.test

    Cette commande est idéale pour vérifier rapidement le comportement d’une URL sans afficher son contenu complet.

    Voir les en-têtes et le contenu en suivant les redirections :

    bash
    curl -L -i https://exemple.test

    Très utile pour inspecter ce que l’URL renvoie réellement à l’arrivée.

    Envoyer un en-tête personnalisé et afficher la réponse complète :

    bash
    curl -i -H "Accept: application/json" https://exemple.test

    Pratique pour tester un service qui varie son comportement selon l’en-tête envoyé.

    Télécharger un fichier derrière une redirection :

    bash
    curl -L -O https://exemple.test/fichier.zip

    Ou avec un nom local choisi :

    bash
    curl -L -o sauvegarde.zip https://exemple.test/fichier.zip

    En maîtrisant ces quelques combinaisons, vous couvrez déjà une grande partie des besoins courants pour tester des URL en ligne de commande.

  10. Lire les résultats sans se perdre

    Quand on débute, le plus difficile n’est pas toujours d’écrire la commande, mais de savoir quoi regarder dans la réponse.

    Voici une méthode simple de lecture :

    1. Commencez par tester l’URL seule avec curl si le contenu est censé être court.
    2. Si vous avez surtout besoin d’un diagnostic, essayez curl -I pour voir les en-têtes.
    3. Si l’URL semble rediriger, recommencez avec -L.
    4. Si le serveur attend des informations particulières, ajoutez un ou plusieurs -H.
    5. Si la ressource est un fichier, utilisez -o ou -O au lieu d’afficher le contenu dans le terminal.

    Cette progression évite de partir trop vite vers des commandes compliquées. Dans bien des cas, une seule option supplémentaire suffit à comprendre le problème ou à obtenir le résultat attendu.

    Il est également utile de raisonner en deux parties : la requête envoyée au serveur, puis la réponse reçue. Les options comme -H modifient la requête, tandis que -I, -i, -o et -O influencent surtout la manière dont vous observez ou stockez la réponse.

  11. Exemples concrets de commandes utiles au quotidien

    Pour terminer la partie pratique, voici une série d’exemples simples que vous pouvez réutiliser comme pense-bête.

    Tester une page web et afficher son contenu :

    bash
    curl https://exemple.test/page

    Afficher uniquement les en-têtes d’une URL :

    bash
    curl -I https://exemple.test/page

    Afficher les en-têtes et le contenu dans la même sortie :

    bash
    curl -i https://exemple.test/page

    Suivre une redirection vers la ressource finale :

    bash
    curl -L https://exemple.test/page

    Voir les en-têtes finaux après redirection :

    bash
    curl -L -I https://exemple.test/page

    Envoyer un en-tête personnalisé :

    bash
    curl -H "Accept: application/json" https://exemple.test/api

    Envoyer plusieurs en-têtes personnalisés :

    bash
    curl -H "Accept: application/json" -H "X-Test: demo" https://exemple.test/api

    Télécharger un fichier avec un nom choisi :

    bash
    curl -o image.png https://exemple.test/image.png

    Télécharger un fichier en reprenant son nom depuis l’URL :

    bash
    curl -O https://exemple.test/image.png

    Télécharger un fichier derrière une redirection :

    bash
    curl -L -O https://exemple.test/telechargement

    Ces exemples ne couvrent pas toutes les possibilités de curl, mais ils forment une base solide, cohérente et immédiatement utile pour un débutant.

Erreurs fréquentes & dépannage

Oublier -L face à une redirection. Une URL peut sembler correcte, mais ne pas renvoyer directement la ressource finale. Si le résultat n’est pas celui attendu, testez à nouveau avec curl -L.

Afficher un fichier binaire dans le terminal. Si l’URL pointe vers une archive, une image ou un autre contenu non texte, n’utilisez pas la forme simple sans redirection de sortie. Préférez -o ou -O.

Confondre -I et -i. -I sert à demander seulement les en-têtes, tandis que -i ajoute les en-têtes à la sortie complète.

Confondre -o et -O. Avec -o, vous choisissez le nom local du fichier. Avec -O, vous reprenez le nom visible dans l’URL.

Mal saisir un en-tête personnalisé. Avec -H, l’en-tête doit être fourni sous forme de texte, par exemple "Accept: application/json". Une faute dans le nom ou la valeur peut changer la réponse du serveur.

Télécharger dans un dossier inattendu. Le fichier est enregistré dans le répertoire courant si vous utilisez un nom simple. Vérifiez toujours où vous vous trouvez avant le téléchargement.

Astuces & pour aller plus loin

Commencez simple. Une requête de base, puis une variante avec -I ou -L, permet souvent de comprendre rapidement le comportement d’une URL.

Utilisez -I pour un diagnostic rapide. Quand vous voulez seulement vérifier la réponse d’un serveur ou la présence d’une redirection, c’est souvent l’option la plus lisible.

Gardez -L comme réflexe sur les liens de téléchargement. Beaucoup d’URL de fichiers passent par une redirection avant d’atteindre la ressource réelle.

Préférez -o si vous voulez un nom local clair. C’est particulièrement pratique pour éviter d’écraser un fichier portant un nom inattendu ou peu parlant.

Conservez quelques commandes modèles. Un petit pense-bête avec vos combinaisons favorites comme curl -L -I, curl -i -H et curl -L -o vous fera gagner du temps.

Questions fréquentes

À quoi sert curl pour un débutant ?

curl sert à interroger une URL depuis le terminal. Pour un débutant, il est très utile pour voir ce qu’un serveur renvoie, afficher les en-têtes HTTP, suivre une redirection ou télécharger un fichier.

Quelle est la différence entre -I et -i ?

L’option -I demande uniquement les en-têtes HTTP. L’option -i affiche les en-têtes en plus du corps de la réponse.

Pourquoi utiliser -L avec curl ?

L’option -L permet de suivre les redirections. Elle est utile quand l’URL testée ne renvoie pas directement la ressource finale.

Comment envoyer un en-tête HTTP personnalisé ?

Utilisez l’option -H, par exemple curl -H "Accept: application/json" https://exemple.test. Vous pouvez répéter -H pour envoyer plusieurs en-têtes.

Comment télécharger un fichier avec curl ?

Utilisez -o pour choisir le nom local du fichier, par exemple curl -o fichier.txt https://exemple.test/fichier.txt. Utilisez -O si vous souhaitez reprendre le nom visible dans l’URL.

Pourquoi mon terminal affiche des caractères illisibles ?

Cela arrive souvent quand vous affichez directement un fichier binaire dans le terminal. Dans ce cas, téléchargez-le plutôt avec -o ou -O.

Conclusion

curl est un outil simple en apparence, mais extrêmement pratique pour tester des URL depuis Linux. En maîtrisant quelques options de base comme -I, -i, -L, -H, -o et -O, vous pouvez déjà analyser une réponse HTTP, comprendre une redirection, personnaliser une requête et récupérer un fichier proprement.

Pour un débutant, le plus important est de progresser par étapes : commencer par une requête simple, observer la sortie, puis ajouter uniquement l’option dont vous avez besoin. Avec cette méthode, curl devient rapidement un outil de diagnostic quotidien fiable et facile à relire.

Commentaires· Aucun commentaire pour l'instant

Soyez le premier à réagir.

Laisser un commentaire