Peu importe ce que vous utilisez sur votre ordinateur, il peut y avoir au moins une occasion où vous devez télécharger quelque chose, car ouvrir un navigateur est excessif. Ce sera un excellent cas d'utilisation pour cURL.
Comme son nom l'indique, cURL est un outil de ligne de commande permettant de transférer des données à l'aide d'URL. Une des utilisations les plus simples consiste à télécharger un fichier via la ligne de commande. Cela est trompeur, car cURL est un outil incroyablement puissant en fonction de son utilisation. Même si vous le connaissez un peu, vous ne l'utilisez probablement pas au maximum.
Liens rapides
Fonction cURL de base
Une des choses les plus importantes que vous puissiez faire avec cURL est de télécharger une page Web ou un fichier. Pour ce faire, utilisez simplement la commande curl suivie de l’URL. Voici un exemple:
curl https://www.google.com
La plupart du temps, en utilisant la commande de cette façon, vous obtiendrez au mieux une station remplie au format HTML brut et au pire une infiltration de caractères inconnus. Si vous préférez l'enregistrer dans un fichier, vous pouvez utiliser les redirections Unix standard.
curl https://www.google.com > google.html
Suivez les en-têtes HTTP
Votre navigateur résout souvent ce problème pour vous, mais Internet est très spécifique. Lorsque vous tapez une URL, vous avez de bonnes chances de vous rediriger une ou plusieurs fois avant d’atteindre votre destination.
Disons, par exemple, que vous essayez d'accéder à Dz Techs. Vous tapez simplement ce qui suit pour obtenir un avis de redirection:
curl http://dztechy.com
Vous pouvez suivre ces en-têtes HTTP à l'aide de la balise -L, telle que:
curl -L http://dztechy.com
Cela ne sera pas beau au Terminal, mais c'est une bonne option à connaître.
Enregistrer les résultats cURL dans un fichier
Il existe plusieurs façons d’enregistrer le contenu d’une URL dans un fichier. Vous permet l'option -o Spécifiez le nom du fichier lorsque l'option est utilisée -O Le nom du fichier dans l'URL à enregistrer. Pour choisir votre fichier, utilisez l'option suivante:
curl -o filename.html https://example.com/url
Le plus souvent, vous devrez enregistrer un fichier portant le même nom que celui utilisé sur le serveur. Par conséquent, utilisez l'option -O.
curl -O https://example.com/filename.html
Télécharger plusieurs fichiers à la fois
Si vous devez télécharger certains fichiers en même temps, cURL vous facilite la tâche. Habituellement, vous voulez utiliser ceci avec une option -O.
curl -O https://example.com/file1.html -O https://example.com/file2.html
Une fois téléchargé de cette façon, l'outil cURL essaiera de réutiliser la connexion au lieu de créer de nouvelles connexions à la fois.
Continuer à télécharger un fichier qui a été suspendu
Ce ne sera pas amusant quand le téléchargement s'arrêtera à mi-chemin. Heureusement, cURL permet de reprendre facilement les téléchargements sans avoir à recommencer. La syntaxe est plutôt étrange, où vous devez ajouter C- À votre commande.
Supposons que vous avez commencé à télécharger avec les éléments suivants:
curl -O https://example.com/bigfile.zip
Puis arrêtez-le en cliquant sur Ctrl + C. Vous pouvez le reprendre en utilisant la commande suivante:
curl -C - -O https://example.com/bigfile.zip
Utiliser l'authentification HTTP Basic
Cela ne fonctionnera pas pour tous les sites nécessitant un nom d'utilisateur et un mot de passe, mais si le serveur utilise l'authentification HTTP de base, cURL peut fonctionner avec. Pour télécharger un fichier à l'aide de l'authentification par nom d'utilisateur / mot de passe, vous pouvez utiliser les éléments suivants:
curl -u username:password -O http://example.com/filename.html
Cela fonctionne également avec les serveurs FTP, où cURL prend en charge de nombreux protocoles différents.
Pour aller plus loin
Il y a tout un tas de choses que vous pouvez faire avec cURL. Parfois, tous ces emplois peuvent sembler beaucoup. Si vous pensez que cURL est trop riche en fonctionnalités et mystérieux pour vous, il existe une alternative plus simple: GNU wget.
Bien que cURL vous donne toutes les options dont vous pouvez avoir besoin, wget vise à vous fournir de bonnes options par défaut. Vous ne savez pas si c'est ce que vous cherchez?