Добрый день,
В настоящее время я пытаюсь найти способ сделать неблокирующие запросы в простом скрипте mitmproxy, но документация, на первый взгляд, мне не совсем понятна.
Я думаю, что, возможно, проще всего, если я покажу свой текущий код и опишу свою проблему ниже:
from copy import copy
from mitmproxy import http
def request(flow: http.HTTPFlow):
headers = copy(flow.request.headers)
headers.update({"Authorization": "<removed>", "Requested-URI": flow.request.pretty_url})
req = http.HTTPRequest(
first_line_format="origin_form",
scheme=flow.request.scheme,
port=443,
path="/",
http_version=flow.request.http_version,
content=flow.request.content,
host="my.api.xyz",
headers=headers,
method=flow.request.method
)
print(req.get_text())
flow.response = http.HTTPResponse.make(
200, req.content,
)
В принципе, я бы хотел перехватить любой выполненный HTTP-запрос и сделать не блокирование запроса к конечной точке API по адресу https://my.api.xyz/, который должен взять все исходные заголовки и вернуть png-снимок экрана оригинального запрошенного URL.
Однако приведенный выше код создает пустой контент и выводит на печать Также ничего не возвращается.
Кажется, моя проблема связана с: mtmproxy http get-запрос в сценарии и Повторная отправка запроса из ответа в mitmproxy , но я все еще не смог ' t выяснить правильный способ отправки запросов внутри mitmproxy.