curl

Paramètres

Option
-A, –user-agent	Spécifier un user-agent
-b, –cookie	Transmettez les données au serveur HTTP dans l’en-tête Cookie. Ce sont supposément les données précédemment reçues du serveur dans une ligne “Set-Cookie:”. Les données doivent être au format “NAME1 = VALUE1; NAME2 = VALUE2”.
–connect-timeout	Spécifier un timeout (délai de connexion)
-C, -continue-at	Résumer un téléchargement
-F, –form	Émuler un formulaire rempli dans lequel un utilisateur a appuyé sur le bouton d’envoi.
-H, –headers	En-tête supplémentaire à inclure dans la requête lors de l’envoi de HTTP à un serveur.
-i, –include	Incluez les en-têtes de réponse HTTP dans la sortie. Les en-têtes de réponse HTTP peuvent inclure des éléments tels que le nom du serveur, les cookies, la date du document, la version HTTP et plus encore …
-I, –head	Récupérez uniquement les en-têtes! Les serveurs HTTP comportent la commande HEAD que celle-ci utilise pour n’obtenir que l’en-tête d’un document.\\Lorsqu’il est utilisé sur un fichier FTP ou FILE, curl affiche la taille du fichier et le dernier mod‐ temps de ification seulement.
-L, –location	Suit l'en-tête Location et un code de réponse 3XX
-O	sauvegarde le fichier avec le même nom que celui sur le serveur
-o <nom>	sauvegarde le fichier avec un nom spécifique
-X, –request	Spécifie une méthode de demande personnalisée à utiliser lors de la communication avec le serveur HTTP (POST, PUT, DELETE, …).
-Y, –speed-limit	Arrête les transferts plus lentement que cela
-v	mode verbeux

Haut de page

Exemples

Vérifier l'accès à une url

curl http://url.com

Sauvegarder le contenu dans un fichier

Fichier unique

curl –o nom_fichier https://url.com/fichier curl -O https://url.com/fichier # le fichier local aura le même nom que le fichier distant

A partir d'une liste de fichier

xargs -n 1 curl -O < liste-url.txt for url in `cat liste-url.txt`; do curl $url ; done

Reprendre un téléchargement

curl –c –o nom_fichier https://url.com/fichier

Afficher les en-têtes de requête et de réponse

curl -v url.com curl -i url.com curl -I url.com # affiche seulement l'en-tête curl --verbose -I url.com # affiche la réponse complète avec son en-tête

Suivre les redirections

curl -L https://www.url.com

Télécharger à un taux limité

curl --limit-rate 2000B https://url.com

Utiliser un proxy pour se connecter

curl --proxy proxy:port https://url.com

URL de test avec injection d’en-tête

curl --header 'Content-Type : application/json' http://url.com

Afficher uniquement l’en-tête de la réponse

curl --head http://url.com

https/ssl en ignorant erreur de certificat

curl --insecure https://url.com

Utiliser un protocole spécifique (SSL/TLS)

SSL v3

curl --sslv3 https://url.com

TLS

curl --tlsv1 https://url.com curl --tlsv1.0 https://url.com curl --tlsv1.1 https://url.com curl --tlsv1.2 https://url.com curl --tlsv1.3 https://url.com

Serveur FTP

Télécharger un fichier

curl -u user:password -O ftp://url.com/fichier

Envoyer un fichier

curl -u utilisateur:motdepasse -X PUT -T fichier ftp://url.com

Changer le user agent

curl -A "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" https://url.com # google Chrome Windows 7

POST

Faire un POST

curl -X GET https://url.com curl -X POST -d "option=valeur&champs=autrevaleur" https://url.com # en passant des données

Envoyer des données JSON

curl -X POST -H "Content-Type: application/json" -d '{"option": "value", "quelquechose": "autrevaleur"}' https://url.com

Envoyer un fichier JSON

curl -X POST -H "Content-Type: application/json" -d "@fichier.json" https://url.com # à partir d'un fichier
Attention de ne pas oublier le @ avant le nom du fichier

Haut de page