CURL
Installé avec le paquet curl
Voir aussi : wget
Afficher la version de la commande cp
curl --version
ou
apt-cache policy curl
Mode verbeux
curl -v [...]
Récupérer le contenu d’une page Web (affiché sur la sortie standard)
curl URL
ou
curl -X GET URL
ex :
# curl http://www.centos.org <html> <head><title>301 Moved Permanently</title></head> <body bgcolor="white"> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.10.1</center> </body> </html>
Récupérer le contenu d’une page Web en conservant son nom original
curl -O URL
ex :
# curl -O http://centos.org/index.html
Ceci crée un fichier local index.html de même nom que la page copiée.
Récupérer le contenu d’une page Web (stocké dans un fichier de sortie spécifié)
curl -o filename.html URL
ou
curl URL > filename.html
ex :
# curl -o fichier.html http://www.centos.org/index.html
Récupérer le contenu de plusieurs pages Web en spécifiant des noms de fichiers de sortie différents
curl -o filename1 URL1 -o filename2 URL2
ex :
# curl -o fichier1.html http://centos.org/index.html -o fichier2.html http://debian.org/index.html
Crée les fichiers fichier1.html et fichier2.html.
Récupérer une page Web redirigée
curl -L URL
ex :
# curl -L http://centos.org/index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
[...]
<div id="footer">
<div class="container text-center">
<p class="text-muted credit">© 2016 The CentOS Project | <a href="/legal/">Legal</a></p>
</div>
</div>
</div>
</body>
</html>
# curl -L http://cdimage.debian.org/debian-cd/8.6.0/i386/iso-cd/debian-8.6.0-i386-netinst.iso -o deb86.iso
Reprendre un téléchargement interrompu
curl -C - -O URL
Limiter la vitesse de téléchargement
curl --limit-rate vitesse -O URL
Avec une vitesse exprimée en octets ou ses multiples : k ou K (Ko), m ou M (Mo), g ou G (Go).
Télécharger une page Web nécessitant une authentification
curl -u username:password URL
Télécharger un document via FTP
Sans authentification :
# curl -O ftp://URL/filename
Avec authentification :
curl -u ftpuser:ftppw -O ftp://URL/filename
Lister le contenu d’un partage FTP
Sans authentification :
curl ftp://URL/dossier/
Avec authentification :
curl -u ftpuser:ftppw ftp://URL/dossier/
Uploader des fichiers sur un serveur FTP
Sans authentification :
curl -T filename ftp://URL/dossier/
Avec authentification :
curl -u ftpuser:ftppw -T filename ftp://URL/dossier/
ex :
# curl -T "{file1,file2}" ftp://ftp.picturemania.com/upload/
# curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
Récupérer le contenu d’une page Web en mode débogage
En mode hexadécimal :
curl --trace filename URL
En mode ASCII :
curl --trace-ascii filename URL
Envoyer un email
curl --mail-from sender --mail-rcpt receiver SMTPserver [--upload-file filename]
ex 1:
# curl --mail-from machin@gmail.com --mail-rcpt truc@hotmail.fr smtp://smtp.free.fr
ex 2:
# curl --mail-from machin@gmail.com --mail-rcpt truc@hotmail.fr smtp://smtp.free.fr --upload-file mailcontent.txt
Ceci permet, en une seule commande, donc sans avoir à rédiger le mail, d’utiliser un fichier contenant l’intégralité du mail, par exemple mailcontent.txt pourrait contenir :
From: "User Name"To: "John Smith" Subject: This is a test Hi John, I'm sending this mail with curl thru my gmail account. Bye!