ikeike443のブログ

ソフトウェアビジネスに関心がある系のブログ

Python Mechanize で Cookie食えない端末の振りをする

ちょっと事情があって、mechanizeにCookie食えない端末のふりをさせてやる必要があった。(どんな事情かは察してください。。)

色々試したところ、以下のように、すればいいみたい。

  • DefaultCookiePolicyのサブクラスを定義してやって、set_okメソッドが常にFalseを返すようにする
  • 上記のポリシーをmechanizeのcookiejarに渡す
#! /usr/bin/python
# encoding: utf-8
import mechanize
"""
クッキー食わないポリシーの定義
"""
class NoCookiePolicy(mechanize.DefaultCookiePolicy):
    def set_ok(self, cookie, request):
        return False

br = mechanize.Browser();
br.set_cookiejar(mechanize.CookieJar(NoCookiePolicy()))
...
#mechanize的な泣ける処理を書く

DefaultCookiePolicyじゃなくてCookiePolicyのサブクラスとして定義してもいいのかも。