cURLでCookieの維持

Python

はじめに

そもそもCookieを維持しなければならないAPIを使っているときに、
PythonのrequestsモジュールでCookieが維持できておらず、はまったことがはじまりでした。

requestsモジュールのSession

Pythonのrequestsモジュールでは、Sessionを利用することでCookieを維持できます。
Cookieの維持ができているか確認するためにhttpbin.orgのAPIを使います。
今回使うAPIを簡単に説明すると

  • /cookies/set: セットされているCookieを取得
  • /cookies/set/{name}/{value}: 指定した{name}, {value}の組み合わせでCookieをセット

httpbin.orgですが、色々便利な使い方が見つかったら記事にできたら良いなと思っています。

以下、Sessionを利用したCookie維持のコードです。

これを実行すると

ちゃんとCookieがセットされていることがわかります。

これcURLだとどうすんの…?

cURLでCookie維持したいときどうすんの?ってなったので調べてみました。
結局Session的なのではなく、Cookieをファイルに保存する方法になるようです。

オプション -c

オプション -c でCookieを保存するファイルを指定

オプション -b

Cookieを使うときは、オプション -b で保存したファイルを指定

当然ファイルを指定しなければ、Cookieがないことになります。

まとめ

これでcURLでもログインしなければ見れないページが叩けたりしますね。

この記事を書いた人

海津 純平
海津 純平
2017年入社の新卒です。

Python