受信したCookie情報をcurlで標準出力にどのように印刷しますか?
マニュアルページによると、-c --cookie-jarオプションのファイル名として「-」を使用すると、Cookieがstdoutに出力されます。問題は、エラーが発生することです:
curl: option -: is unknown
私が実行しているコマンドの例:
curl -c --cookie-jar - 'http://google.com'
そのオプションを間違った方法で使用するため、このエラーが発生します。 manページに次のようなオプションが表示された場合:
-c, --cookie-jar <file name>
つまり、そのオプションを使用する場合は、-c
[〜#〜] or [〜#〜]を使用する必要があります。 --cookie-jar
、決して両方!これら2つは同等であり、実際、-c
は--cookie-jar
の省略形です。マニュアルページには、同じように設計された多くのオプションがあります。
あなたの場合:
curl -c - 'http://google.com'
--cookie-jar
は-c
オプションの引数として指定されるため、オプションとは異なり(考えられるかもしれません)ファイル名として解釈され、-
はそのまま残り、エラーになります。 curl
には実際、そのようなオプションはありません。
「-c」を削除します
curl --cookie-jar - 'http://google.com'
また、冗長モードを試して、Cookieヘッダーを確認します。
curl -v 'http://google.com'
StdoutでCookieテキストのみを取得するには、2つのオプションを使用する必要があります。
--cookie-jar <file name>
manページから「ファイル名を単一のダッシュ「-」に設定すると、Cookieはstdoutに書き込まれます」
--output <file>
manページの「stdoutの代わりに出力を書き込む」。破棄するには/ dev/nullに設定します。
--silent
も役立ちます
すべてを一緒に入れて:
curl --silent --output /dev/null --cookie-jar - 'http://www.google.com/'
出力:
# 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
私のユースケース:OWASPの推奨事項に従って、WebサイトがHttpOnly Cookie設定を使用していることをテストします。
curl --silent --output /dev/null --cookie-jar - 'http://www.google.com/' | grep HttpOnly