Curl
Aller à la navigation
Aller à la recherche
Utilisation de l'option -w avec curl
L'option -w (ou --write-out) de curl permet d'extraire des informations spécifiques sur la requête HTTP, comme le code de retour, le type de contenu, les temps de connexion, etc., **sans affecter le fichier de sortie** défini par -o.
Syntaxe de base
curl -s -o out/parse.zip -w "%{http_code}\n" -F "file=@in/PE.pdf" 'https://example.com/upload'
-s: mode silencieux (supprime la barre de progression).-o out/parse.zip: enregistre le corps de la réponse dans le fichier.-w "%{http_code}\n": affiche le code HTTP à la fin, sans l'inclure dans le fichier.
Variables disponibles avec -w
Voici quelques variables utiles que l'on peut inclure dans le format de sortie :
📄 Statut HTTP
%{http_code}: code de retour HTTP (ex. 200, 404)%{response_code}: identique àhttp_code%{exitcode}: code de sortie de curl
⏱️ Temps
%{time_total}: durée totale de la requête%{time_connect}: temps pour établir la connexion%{time_starttransfer}: temps jusqu’au premier octet reçu
📦 Transfert
%{size_download}: taille des données téléchargées%{size_upload}: taille des données envoyées%{speed_download}: vitesse de téléchargement
🌐 Réseau
%{remote_ip}: IP du serveur distant%{remote_port}: port du serveur distant%{ssl_verify_result}: résultat de la vérification SSL
🧾 En-têtes
%{content_type}: type MIME du contenu%{redirect_url}: URL de redirection (si applicable)%{url_effective}: URL finale après redirections
Exemple complet
curl -s -o out/parse.zip -w "Code HTTP: %{http_code}\nType: %{content_type}\nDurée: %{time_total}s\n" \
-F "file=@in/PE.pdf" 'https://example.com/upload'
Astuce : rediriger la sortie -w dans un fichier séparé
curl -s -o out/parse.zip -w "%{http_code}\n" -F "file=@in/PE.pdf" 'https://example.com/upload' > out/status.log
Cela permet de garder le fichier téléchargé propre, tout en enregistrant les métadonnées dans un fichier à part.
Conclusion
L'option -w est idéale pour automatiser les traitements HTTP avec curl, en extrayant des informations utiles sans interférer avec le contenu téléchargé via -o.