5

mitmproxy と Python を使用して、あるページを別のページにリダイレクトしようとしています。インライン スクリプトを mitmproxy と一緒に問題なく実行できますが、URL を別の URL に変更すると行き詰まります。たとえば、google.com にアクセスすると、stackoverflow.com にリダイレクトされます。

def response(context, flow):
        print("DEBUG")
        if flow.request.url.startswith("http://google.com/"):
            print("It does contain it")
            flow.request.url = "http://stackoverflow/"

これは理論的には機能するはずです。http://google.com/mitmproxy の GUI に (GET として)表示されますが、起動されるprint("It does contain it")ことはありません。

flow.request.url = "http://stackoverflow.com"のすぐ下に置こうとするとprint("DEBUG")、どちらも機能しません。

私は何を間違っていますか?if "google.com" in flow.request.urlURLに含まれているかどうかも確認しようとしましgoogle.comたが、それも機能しません。

ありがとう

4

3 に答える 3

3

基になる属性を更新する.url属性を設定できます。コードを見ると、問題は、リクエストが完了した後にフック内の URL を変更することです。アップストリーム サーバーからリソースを要求する前に変更が適用されるように、フック内の URL を変更する必要があります。responserequest

于 2016-05-09T17:21:54.810 に答える