Перенаправление Mitmproxy не работает в Python (Raspberry Pi) - PullRequest
0 голосов
/ 30 ноября 2018

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

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 и сообщение [нет содержимого].Если я загружаю вкладку «Сеть» в Chrome для просмотра запроса, он пытается получить «http://wwww.reddit.comhttp/1.1", и я не знаю, почему это так.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...