Recherche de site Web

Téléchargement du fichier Curl sous Linux


La commande cURL linux peut utiliser différents protocoles réseau pour télécharger et charger des données sur Linux. Normalement, l’utilisation de la commande cURL est assez basique, mais elle a une tonne d’options et peut devenir plus compliquée très rapidement. Dans ce guide, nous allons passer en revue certaines des utilisations les plus courantes de la commande cURL et vous montrer des exemples de syntaxe afin que vous puissiez l’utiliser sur votre propre système.

Dans ce tutoriel, vous allez apprendre :

  • Qu’est-ce que cURL et que peut-il faire ?
  • Comment cURL se compare à wget
  • Comment télécharger un fichier à partir d’un site Web avec cURL
  • Comment suivre les redirections
  • Comment télécharger et décompresser automatiquement un fichier
  • Comment s’authentifier avec cURL
  • Comment télécharger des en-têtes avec cURL
  • Comment utiliser le mode silencieux avec cURL

Commande curl sous Linux

Que peut faire cURL ?

Curl peut utiliser un large éventail de protocoles réseau pour communiquer avec des systèmes distants. C’est un outil de débogage parfait, capable d’envoyer des requêtes aux serveurs et d’envoyer les réponses à stdout, généralement en enregistrant les données ou en les transmettant à d’autres outils dans le cadre d’un script bash pour le traitement.

La page de manuel de curl montre tous les protocoles qu’il prend en charge :


man curl

LE SAVIEZ-VOUS ?
curl est un outil permettant de transférer des données depuis ou vers un serveur, en utilisant l’un des protocoles pris en charge (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET et TFTP). La commande est conçue pour fonctionner sans interaction de l’utilisateur.

HTTP et HTTPS font partie des protocoles répertoriés, ce qui signifie que curl peut télécharger des fichiers à partir de sites Web. Si vous êtes familier avec la commande wget, les deux outils sont similaires à cet égard. Nous vous montrerons comment télécharger des fichiers avec celui-ci dans la section suivante.

Alors, c’est comme wget ?

Curl est capable de récupérer des fichiers via les protocoles HTTP, HTTPS et FTP, tout comme wget. Les deux commandes sont de bons choix pour la tâche, bien que wget soit parfois préféré pour sa capacité à télécharger de manière récursive. Les deux commandes peuvent également envoyer des requêtes HTTP POST. En dehors de ce chevauchement, les fonctionnalités disponibles dans les deux utilitaires sont assez différentes.

  1. Télécharger un fichier à partir d’un site Web avec cURL

    Voyons la commande utilisée pour télécharger un fichier avec curl. Par exemple, curl peut être utilisé pour télécharger une distribution Linux, qui est disponible sous forme de fichiers ISO.

    Ouvrez un terminal et tapez la commande suivante pour télécharger un fichier ISO avec curl :

    
    curl https://example.com/linux.iso --output linux.iso
    

    Curl nous montre la progression du téléchargement du fichier ISO

    Le terminal nous montre une sortie sur la progression du téléchargement jusqu’à ce qu’il soit terminé. L’option --output est nécessaire car curl ne sortira que les données téléchargées vers le terminal (stdout) par défaut. Par exemple:

    
    curl https://linuxconfig.org
    

    Commande Curl utilisée pour télécharger une page Web

    Dans le cas d’un site Web, qui sert du contenu HTML, vous obtiendrez un tas de code HTML dans votre terminal. Vous pouvez maintenant voir pourquoi curl est un outil de débogage facile. Si nous avions voulu télécharger la page dans un fichier, il nous suffirait d’ajouter l’option --output. L’indicateur -O fait la même chose et c’est une façon plus courte de l’écrire.

    Vous pouvez nommer vos téléchargements comme vous le souhaitez en spécifiant un nom de fichier après la commande.

    
    curl https://example.com/linux.iso -O any_file_name.iso
    

    Il convient de noter que de nombreux sites Web ont configuré des redirections 301 ou 302, par exemple pour rediriger les utilisateurs atterrissant sur des pages HTTP vers la page HTTPS correspondante. Curl n’essaie pas de suivre ces redirections à moins que vous ne lui disiez de le faire avec l’option -L. Si vous constatez que curl est bloqué par des redirections, il suffit d’ajouter cette option à la commande.

    
    curl -L linuxconfig.org
    

    Exemple de curl suivant et ne suivant pas une redirection 301

  2. Téléchargement automatique d’Untar

    Vous pouvez gagner du temps lors du téléchargement de fichiers tar en transférant la commande curl vers tar. Cela ne générera pas de fichier tar sur votre système, car le fichier est téléchargé sur stdout et tar gère les choses à partir de là. Par exemple, pour télécharger WordPress et ouvrir l’archive tar en une seule commande :

    
    curl https://wordpress.org/latest.tar.gz | tar -xz
    
  3. Authentification avec curl

    Vous pouvez vous authentifier auprès d’un site web, d’un serveur FTP, etc. avec l’option -u dans votre commande curl. Spécifiez le nom d’utilisateur et le mot de passe directement après ce basculement, séparés par deux points. Par exemple, voici comment s’authentifier auprès d’un serveur FTP. Ce serveur est mis à la disposition du public à des fins de test et vous pouvez essayer la commande depuis votre propre terminal :

    
    curl -u demo:password ftp://test.rebex.net
    

    Nous pouvons également télécharger le fichier readme sur le serveur :

    
    curl -u demo:password ftp://test.rebex.net/readme.txt
    

    Authentification et téléchargement d’un fichier à partir d’un serveur FTP avec curl

  4. Télécharger les en-têtes

    Curl est un excellent outil pour télécharger des en-têtes à partir d’un serveur distant. Cela peut vous donner des informations générales sur la page demandée, le serveur, etc. Encore une fois, c’est idéal pour le dépannage. Utilisez l’option -I sur votre commande curl pour obtenir les en-têtes :

    
    curl -I linuxconfig.org
    

    Il y a de fortes chances que vous souhaitiez également utiliser l’option de redirection -L sur les sites Web :

    
    curl -IL linuxconfig.org
    

    Téléchargement d’en-têtes HTTP avec curl

  5. Mode silencieux

    Si vous pouviez vous passer du compteur de progression de curl et des messages d’erreur, l’option -s ferait taire curl. Bien sûr, la sortie normale arrivera toujours sur votre terminal, donc vous voudrez probablement aussi utiliser --output pour indiquer à curl où placer le contenu qu’il télécharge.

    
    curl -s https://linuxconfig.org --output index.html
    

Conclusion

Dans cet article, nous avons vu comment la commande curl peut être utilisée pour des choses comme le téléchargement de fichiers à partir de la ligne de commande, l’authentification auprès des serveurs, etc. C’est un excellent outil de débogage et une commande utile à connaître.

Les options de Curl sont très étendues, car il prend en charge une tonne de protocoles réseau et peut être facilement redirigé vers d’autres outils puisqu’il envoie du contenu à stdout. Nous avons couvert certaines des utilisations courantes de curl dans ce tutoriel, mais assurez-vous de consulter les pages de manuel pour voir les nombreuses autres choses qu’il peut faire.

Articles connexes: