アプリをテストする際にテストサーバーが用意されていないと通信を書き換えるなどしなければなりません。 そのような時にmitmproxyを使います。
mitmproxyの利点
Pythonでスクリプトを書くことができます。GUIとか独自の形式とかではなくプログラムを書くことができるのが利点です。
インストール
path
自分はLinux版をHPからダウンロードして、WSLで使用しました。
TSL
http://mitm.it
ここで証明証を入れます。立ち上げた後にアクセスしてください。
Pythonスクリプト
pipでmitmproxyを入れておきましょう。
起動方法は以下のようになります。
mitmweb -p [Proxyのポート番号] --web-por [WebUIのポート番号] -s [Pytonファイル]
コード例
from mitmproxy.http import HTTPFlow def response(flow): # type:(HTTPFlow) -> None print("======response======") path = flow.request.path query = flow.request.query def request(flow): # type:(HTTPFlow) -> None print("======request======")
ここでtime.sleep()などをして通信を遅延させることが可能です。
pythonスクリプトを書き換えるとその場でファイルがロードされます。やっぱり動的型付け言語はこういう所で使うべきものなんだよと再認識しました。