web-dev-qa-db-fra.com

Comment imprimer les informations de cookie reçues sur stdout avec curl?

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'
28
Brian Yeh

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.

31
Radu Rădeanu

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'
8
Matías Insaurralde

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
7
gmoon