Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Curlコマンドにcookieをもたせる

CurlコマンドでPOSTする際、cookieが必要だったりすることもあります。
そういう場合も、幸いにして、cookieを持たせるオプションがあるので、そいつを使ってきましょう。

実際のところ

cookieつきでPOSTする

"URL"に対し、cookies.txtに記載されたcookieをもとに"foo bar" をPOSTする場合。

curl --request POST --cookie cookies.txt --data  "foo bar" $(URL)

短縮して"-b"でも可能。
あとで見返すとき混乱しそうなので私は使わないですが……。

curl --request POST -b cookies.txt --data  "foo bar" $(URL)

cookieをつくる

元になるcookieは"--cookie-jar"オプションで保存できます。
LOGIN_URLにLOGIN_INFO(ユーザー名とかパスワードとか)をもたせて、
結果をcookies.txtに保存する方法は以下のような感じに。

curl --request POST --cookie-jar cookies.txt --data  "#(LOGIN_INFO)" $(LOGIN_URL)