cURLでCookieの維持

Python

この記事は最終更新日から1年以上が経過しています。

はじめに

そもそも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でもログインしなければ見れないページが叩けたりしますね。

Python