mitmproxyを使うと、HTTPSの通信を覗き見ることができます。

作ったスマホアプリが正常にAPIを叩けてるかみたいなことを確認するのもこれを使えば楽ですね。

インストール

$ brew install mitmproxy

Mac以外の人は適当にどうぞ

使い方

mitmproxyはHTTPプロキシサーバーとして動くので、通信を覗き見したい端末でプロキシの設定をする必要があります。

iPhoneの場合はWi-Fiの設定から接続しているネットワークをダブルタップし、一番下のメニューから設定を変更することができます。

プロキシサーバーの設定が終わったら、設定をした端末でhttp://mktm.itにアクセスし、証明書を取得します。これで準備完了。

あとは端末側で適当にHTTPやHTTPSのリクエストを投げると、mitmproxy側から覗き見できていることがわかるはずです。

Pythonから使う

http://docs.mitmproxy.org/en/v0.14/scripting/libmproxy.htmlを見た感じだと、特定の種類のリクエストを捕まえて自動で処理、みたいなのをPythonで書けるみたいです。暇な時に試してみます。