Я работал над сценарием перенаправления для 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", и я не знаю, почему это так.
Это то, что, похоже, работаетдля других я понятия не имею, почему это не на пи.