Перенаправление Mitmproxy не работает в python (Raspberry Pi)

Я работаю над сценарием перенаправления для mitmproxy, работающего на Raspberry Pi. Я просмотрел сообщение здесь, и это не сработало. . Случилось так, что запрос все еще проходил по исходному URL-адресу хоста. После некоторых изменений он попытался перенаправить на новый сайт, но коды состояния не отражали этого, и он по-прежнему загружал ресурсы исходного сайта. Сделайте путь пустой строкой, исправив это временно (он больше не вызывал ресурсы, добавляя их к новому URL-адресу). Кроме того, поскольку исходный сценарий не работал, я попытался внести изменения, чтобы отразить, как работает ручное перенаправление, добавив «Местоположение» в заголовки ответа.

import mitmproxy
from mitmproxy.models import HTTPResponse
from netlib.http import Headers
def request(flow):

if flow.request.pretty_host.endswith("sojourncollege.com"):
        mitmproxy.ctx.log( flow.request.path )
        method = flow.request.path.split('/')[3].split('?')[0]            
        flow.request.host = "reddit.com"
        flow.request.port = 80
        flow.request.scheme = 'http'
        flow.request.path = ''            
        if method == 'getjson':
            flow.request.path=flow.request.path.replace(method,"getxml")
        flow.request.headers["Host"] = "reddit.com"
        flow.response.status_code = 302
        flow.response.headers.append("Location")
        mitmproxy.ctx.log(flow.response.headers)
        flow.response.headers["Location"] = "reddit.com"

То, что происходит сейчас, повторяется. 301 Получите запросы на http://reddit.com и сообщение [no content]. Если я загружу вкладку сети в Chrome, чтобы просмотреть запрос, который он пытается получить, "http://wwww.reddit.comhttp/1.1", и я понятия не имею, почему это так.

Это то, что, кажется, работает для других, я понятия не имею, почему это не на пи.


person Ryan    schedule 29.11.2018    source источник
comment
flow.response имеет значение None в контексте запроса, устанавливается только в режиме ответа.   -  person e-info128    schedule 14.02.2019