ローカルで実行しているWEBアプリとローカルで実行しているAPIサーバとの間の通信を検証するためにmitimproxyを使ったのでやり方をまとめます。
mitmproxyはオープンソースのHTTPSプロキシで Windows インストーラまたはMicrosoft Storeからダウンロードできます。
下記の図のようにWEBアプリからAPIサーバ(localhost:7071)への通信が行われています。
この通信をmitmproxyで補足できるように、下記の図のようにWEBアプリの通信先をmitmproxy(localhost:8081)に変更して、mitmproxyでその通信をAPIサーバ(localhost:7071)に転送するように設定しました。
そのためにはpythonスクリプトが必要ですが、これはChatGPT(GPT-4)に作成してもらいました。 そのスクリプトがこちらです。
from mitmproxy import http def request(flow: http.HTTPFlow) -> None: # Only redirect requests to localhost:8081 if flow.request.pretty_host == "localhost" and flow.request.port == 8081: flow.request.host = "localhost" flow.request.port = 7071
このスクリプトをredirect.pyと名前を付けて保存します。
ターミナルを開いて下記のコマンドを実行することで、mitmproxyがポート8081で起動して、受け取った通信をポート7071に転送してくれるようになります。
mitmweb -p 8081 -s .\redirect.py
また同時にWebインターフェースが起動するので、そちらで通信の内容を確認することができます。