Commandes Linux : curl

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!
Fermer le menu
%d blogueurs aiment cette page :