all:bibles:linux:commandes:curl
Table des matières
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 |
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
all/bibles/linux/commandes/curl.txt · Dernière modification : de omeylhoc
