Les commandes *nix curl
et wget
sont utiles pour accéder aux URL sans avoir recours à un navigateur. Les deux commandes vous permettent de transférer des données depuis un serveur réseau, avec curl
étant le plus robuste des deux. Vous pouvez utiliser l'un ou l'autre pour automatiser les téléchargements à partir de différents serveurs.
La commande curl
Comme mentionné, le curl
La commande vous permet de transférer des données depuis un serveur réseau, mais elle vous permet également de déplacer des données vers un serveur réseau. Outre HTTP, vous pouvez utiliser d'autres protocoles, notamment HTTPS, FTP, POP3, SMTP et Telnet. Les administrateurs s'appuient généralement sur curl
pour interagir avec les API à l'aide des méthodes DELETE, GET, POST et PUT, comme expliqué ici.
La syntaxe de curl
est assez simple à première vue. Voici un exemple :
$ curl http://www.example.com/help.txt
Options de boucle
Vous pouvez fournir différentes options à votre syntaxe de commande :
curl [options] [url]
Ce sont les options qui font curl
si robuste. Voici quelques-unes des options disponibles utilisées avec curl
et des exemples de leur utilisation.
-a, --append
Lors du téléchargement d'un fichier, cette option vous permet d'ajouter au fichier cible au lieu de l'écraser (FTP, SFTP).
$ curl --append file.txt ftp://ftp.example.com/file.txt
--connect-timeout
Le --connect-timeout
l'option définit le temps maximum en secondes pendant lequel curl
peut utiliser pour se connecter au serveur distant. Cette option est pratique pour éviter que la connexion ne se termine trop rapidement et pour minimiser le temps pendant lequel la commande tente de se connecter.
$ curl --connect-timeout 600 http://www.example.com/
--serveurs-dns
Cette option permet de lister les serveurs DNS curl
devrait utiliser à la place de la valeur par défaut du système. Cette liste peut être utile lors du dépannage de problèmes DNS ou si vous devez résoudre une adresse par rapport à un serveur de noms spécifique.
$ curl --dns-servers 8.8.8.8 http://www.example.com/
--http3
Vous pouvez spécifiquement indiquer à curl d'utiliser le protocole http3 pour se connecter à l'hôte et au port fournis avec une URL https. --http2 et --http1.1 fonctionnent de la même manière et peuvent être utilisés pour vérifier un serveur Web.
$ curl --http3 http://www.example.com:8080/
--sortie
Si vous avez besoin de récupérer un fichier depuis un serveur distant via une URL, --output
est un moyen facile d'enregistrer le fichier localement.
$ curl http://www.example.com/help.txt --output file.txt
--barre de progression
Cette option affiche la progression du transfert de fichier lorsqu'elle est combinée avec le --output
option.
$ curl --progress-bar http://www.example.com/help.txt --output file.txt
--sslv2
Comme avec HTTP, vous pouvez spécifiquement indiquer à curl d'utiliser une option SSL spécifique pour la commande à laquelle se connecter et dans ce cas, nous spécifions la version 2. --ssl spécifie que SSL doit être utilisé et --sslv3 spécifie SSL version 3. Remarque :sslv2 et sslv3 sont considérés comme hérités par le responsable, bien qu'ils soient toujours disponibles.
$ curl --sslv2 https://www.example.com/
--verbeux
Le --verbose
option avec curl
est utile pour déboguer et afficher ce qui se passe lors de l'appel à l'URL.
$ curl --verbose http://www.example.com
La commande wget
Contrairement à curl
, le wget
La commande est uniquement destinée à la récupération d'informations à partir d'un serveur distant. Par défaut, les informations reçues sont enregistrées avec le même nom que dans l'URL fournie.
Voici un exemple du wget
de base syntaxe :
$ wget http://www.example.com/help.txt
wgetOptions
Comme curl
, vous pouvez fournir diverses options à votre wget
syntaxe de commande :
wget [option] [url]
--dns-servers=ADRESSES
Vous pouvez spécifier un ou plusieurs serveurs DNS spécifiques à utiliser lors de l'utilisation de wget
pour accéder à un serveur distant. La syntaxe diffère cependant si l'option et les adresses de serveur de noms sont jointes par un =.
$ wget --dns-servers=8.8.8.8 http://www.example.com
-O
Pour enregistrer un fichier avec un nouveau nom lors de l'utilisation de wget
, utilisez le --output-document
option, ou plus simplement -O
.
$ wget http://www.example.com/help.txt -O file.txt
--progress=type
Avec wget
, vous pouvez fournir un type (point ou barre) pour déterminer le visuel ASCII de la barre de progression. Si un type n'est pas spécifié, il sera par défaut point.
$ wget --progress=dot http://www.example.com
Conclusion
La curl
et wget
Les commandes peuvent être très utiles lorsqu'elles sont ajoutées à des scripts pour télécharger automatiquement des packages RPM ou d'autres fichiers. Cet article ne touche que certaines des fonctionnalités les plus courantes de ce que ces commandes peuvent faire. Consultez les pages de manuel associées pour obtenir une liste complète des options disponibles pour curl
et wget
.
[ Vous voulez tester vos compétences d'administrateur système ? Faites une évaluation des compétences aujourd'hui. ]