====== curl ====== ---- ===== Paramètres ===== ^Option ^ Description | -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 | 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 | ---- [[all:bibles:linux:commandes:curl|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 ---- [[all:bibles:linux:commandes:curl|Haut de page]]