
単一のPythonスクリプトで動作するHTTP/HTTPSプロキシ
単一のPythonスクリプトで動作するHTTP/HTTPSプロキシ
このスクリプトはPython 2.7で動作します。 HTTPS接続を傍受するにはOpenSSLのインストールが必要です。
スクリプトとして実行するだけです:
$ python proxy2.py
上記のコマンドはlocalhost:8080でプロキシを実行します。 同じホストの別のターミナルで以下のコマンドを入力して動作を確認できます。
$ http_proxy=localhost:8080 curl http://www.example.com/
proxy2はデバッグ/テスト用に作られているため、localhostからの接続のみを受け付けます。
別のポートを使用するには、最初の引数としてポート番号を指定します。
$ python proxy2.py 3128
HTTPS接続を傍受するには、秘密鍵とプライベートCA証明書を生成します:
$ ./setup_https_intercept.sh
プロキシ経由でhttp://proxy2.test/ にアクセスし、ブラウザにCA証明書をインストールできます。
プロキシを簡単にカスタマイズして、リクエスト/レスポンスを変更したり、ファイルに何かを保存したりできます。 ProxyRequestHandlerクラスには、カスタマイズ用の3つのメソッドがあります:
デフォルトでは、save_handlerのみが実装されており、HTTP(S)ヘッダーと有用なデータを標準出力に出力します。