Utilisez «curl» pour télécharger et télécharger des fichiers à l'aide de protocoles Internet courants
CURL dans Linux
La commande curl transfère des fichiers sur un réseau ou à partir d'Internet à l'aide d'une gamme de protocoles courants, notamment HTTP, HTTPS, FTP et SMB. Utilisez-le pour accéder aux sites FTP, envoyer des e-mails, vous connecter aux adresses SAMBA, télécharger et télécharger des fichiers et les tâches connexes.
NB : La commande curl a de nombreux paramètres. Vous pouvez voir une liste complète de ces paramètres sur la page de manuel curl.
Utilisation de base de la commande «curl»
Dans sa forme de base, curl télécharge le contenu de la page Web dans la fenêtre du terminal .
Par exemple, entrez la commande suivante dans une fenêtre de terminal :
curl http://www.google.com
Le code HTML de la page de destination de Google s'affiche sur votre sortie standard.
Dirigez le contenu de 'curl' vers un fichier
Lorsque vous téléchargez un objet comme une image ISO, envoyez-le dans un fichier plutôt que vers la sortie standard.
Pour enregistrer le contenu dans un fichier, spécifiez le commutateur -o comme suit :
curl -o < filenametocreate > < URL >
NB : Malgré la séparation de votre URL avec les chevrons ouvrant & fermant < URL >, tout doit être collé!
Pour télécharger la page liée à dans la section d'utilisation des commandes de base, entrez la commande suivante :
curl -o google.htm http://www.google.com
Après le téléchargement du fichier, ouvrez-le dans un éditeur ou son programme par défaut déterminé par le type de fichier.
Vous pouvez simplifier davantage cela en utilisant le commutateur -O comme suit :
curl -O http://www.google.com
Ce commutateur utilise la partie nom de fichier de l'URL et en fait le nom de fichier dans lequel l'URL est enregistrée.
NB : Les commutateurs -o et -O doivent référencer un fichier spécifique; ils ne peuvent pas pointer de manière générique vers un dossier ou une URL de niveau supérieur. La commande curl signale une erreur sans longueur dans de telles situations.
Exécutez «curl» en arrière-plan
Par défaut, la commande curl affiche une barre de progression vous indiquant quelle part du transfert reste et combien de données ont été transférées.
Si vous souhaitez simplement que la commande s'exécute sans barre de progression, vous devrez l'exécuter en mode silencieux. Exécutez-le ensuite en tant que commande d'arrière - plan .
Pour exécuter une commande en mode silencieux, utilisez le commutateur -s :
curl -s -O < URL >
Pour exécuter la commande en arrière-plan, utilisez l'esperluette comme suit :
curl -s -O < URL > &
NB : L'exécution de la commande curl sans la barre de progression est plus simple, mais vous ne saurez pas combien de temps le transfert prendra ni le temps estimé qu'il devrait se terminer.
Téléchargez plusieurs URL avec 'curl'
Dans sa forme la plus simple, téléchargez plusieurs URL simultanément en les spécifiant dans l'ordre :
curl -O http://www.monsite.com/page1.html -O http://www.monsite.com/page2.html
Pour télécharger un grand nombre de fichiers avec un modèle de dénomination commun, utilisez des crochets pour fournir une plage. Par exemple, pour obtenir les fichiers image suffixés de 1 à 100, spécifiez ce qui suit :
curl -O http://www.mysite.com/images/image[1-100[.jpg
Utilisez des accolades pour spécifier plusieurs sites avec des formats similaires.
Par exemple, pour télécharger les pages d'index pour www.google.com et www.bing.com, utilisez la commande suivante :
curl -O http: // www. {google, bing} .com
NB : Votre shell peut réécrire ces commandes si nécessaire. En savoir plus sur les expressions régulières pour le contexte pertinent.
Affichage de la progression
Par défaut, la commande curl renvoie les informations suivantes lors du téléchargement d'une URL :
- Total% : pourcentage du transfert total effectué.
- Total bytes : taille totale du transfert en octets.
- % Reçu / transféré : pourcentage de transfert terminé.
- Octets reçus / transférés : nombre d'octets téléchargés.
- Vitesse de téléchargement moyenne : vitesse de téléchargement en octets par seconde.
- Temps total : temps estimé pour terminer l'opération en cours.
- Temps passé : Temps écoulé depuis le début du transfert.
- Temps restant : Temps prévu pour terminer le transfert.
- Vitesse actuelle : vitesse de transfert actuelle en octets par seconde.
Si vous préférez une barre de progression simple, spécifiez le commutateur - # comme suit :
curl - # -O < URL >
Gestion des redirections
La commande curl est intelligente en ce qu'elle peut suivre les redirections. Tout ce que vous avez à faire est d'utiliser le commutateur -L comme suit :
curl -OL < URL >
Télécharger des fichiers depuis un serveur FTP
La commande curl gère plus que les transferts de fichiers HTTP. Il peut gérer FTP, GOPHER, SMB, HTTPS et d'autres formats.
Pour télécharger des fichiers depuis un serveur FTP , utilisez la commande suivante :
curl -u user:password -o < URL >
Si vous spécifiez le nom d'un fichier dans le cadre de l'URL, il téléchargera le fichier, mais si vous spécifiez le nom d'un dossier, il renverra une liste de dossiers.
Utilisez curl pour télécharger des fichiers sur un serveur FTP en utilisant la commande suivante :
curl -u user:password -T
Les noms de fichiers et utilisent le même modèle de correspondance que pour le téléchargement de plusieurs fichiers HTTP.