OS X 10.9 で MITMPROXY を使用して、Charles の Map Remote 機能によって提供される機能を複製しようとしています。私がやりたいのは、desiredurl.com へのリクエストを desiredurl.ca へのリクエストに置き換えることです (フリー ソフトウェアを使用して Charles で特定の機能を複製する方法を教えてくれる回答は何でも構いません)。
この回答とこの質問の両方が役立つように見えたので、以下のスクリプトを書きました。
#!/usr/bin/env python
def redirect_request(context, flow):
host = flow.get_url()
if 'desiredurl' in host:
flow.set_url(host.replace('com','ca'))
iMac で iPadをmitmdump -s path/to/script.py
iMac のポート 8080 に通常どおり接続すると、ターミナル ウィンドウでトラフィックが飛んでいるのがわかりますが、desiredurl.com にアクセスすると、desiredurl.ca ではなく、desiredurl.com に移動します。したがって、私は次のことを試しました:
#!/usr/bin/env python
def response(context, flow):
if 'desiredurl' in flow.request.host:
flow.request.host.replace('com','ca')
ただし、要求は引き続き、desiredurl.ca ではなく、desiredurl.com に送信されます。どうしてこれなの?