Comment imprimer les informations de cookie reçues sur stdout avec curl?
Selon les pages de manuel, si vous utilisez '-' comme nom de fichier pour l'option -c --cookie-jar, il devrait imprimer le cookie sur stdout. Le problème est que j'obtiens une erreur:
curl: option -: is unknown
un exemple de la commande que j'exécute:
curl -c --cookie-jar - 'http://google.com'
Vous obtenez cette erreur car vous utilisez de manière incorrecte cette option. Lorsque vous voyez dans une page de manuel une option comme:
-c, --cookie-jar <file name>
cela signifie que si vous souhaitez utiliser cette option, vous devez utiliser -c
[~ # ~] ou [~ # ~] --cookie-jar
, jamais les deux! Ces deux sont équivalents et, en fait, -c
est la forme abrégée de --cookie-jar
. Il y a beaucoup, beaucoup d'options dans les pages de manuel qui sont conçues de la même manière.
Dans ton cas:
curl -c - 'http://google.com'
--cookie-jar
est donné comme argument pour -c
option, donc, il est interprété comme un nom de fichier, pas comme une option (comme vous pouvez le penser), et -
reste seul, ce qui entraîne une erreur car curl
, en effet, n'a pas une telle option.
Supprimer le "-c"
curl --cookie-jar - 'http://google.com'
Vous essayez également le mode verbeux et voyez les en-têtes des cookies:
curl -v 'http://google.com'
Vous devez utiliser deux options pour obtenir uniquement le texte du cookie sur stdout:
--cookie-jar <file name>
à partir de la page de manuel "Si vous définissez le nom du fichier sur un seul tiret, '-', les cookies seront écrits sur stdout"
--output <file>
à partir de la page de manuel "Écrire la sortie dans au lieu de stdout". Réglez-le sur/dev/null pour le jeter.
Est également utile --silent
Mettre tous ensemble:
curl --silent --output /dev/null --cookie-jar - 'http://www.google.com/'
Sortie:
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_.google.com TRUE / FALSE 1512524163 NID 105=DownH33BKZnCsWJeGvsIC5cKRi7CPT3K3QjfUB-4js5xGw6P_6svMqU1yKlKOEu4XwL_TdddZlcMITefFGOtCCyzJNhO_7E9UMNpbQHja40IAerYP5Bwj-FhY1m35mZdvkVSmrg1pZPvH96IkVVVVVVVV
Mon cas d'utilisation: testez que votre site Web utilise le paramètre de cookie HttpOnly, conformément à la recommandation OWASP:
curl --silent --output /dev/null --cookie-jar - 'http://www.google.com/' | grep HttpOnly