Я пытаюсь реализовать дополнительный скрипт mitmproxy, чтобы подделать определенные данные пакета https, которые, кстати, расшифровываются на лету с помощью инъекции сертификата mitmproxy.
Я следую этому ответу о переполнении стека на довольно похожий вопрос, а также this tutorial из документации mitmproxy, но пока безуспешно.
Пакет, на который я нацелен, исходит от https://api.example.com/api/v1/user/info
.
Вот весь скрипт python, который я написал, чтобы подделать эти пакетные данные, на основе вышеупомянутых источников:
from mitmproxy import ctx
class RespModif:
def _init_(self):
self.num = 0
def response(self, flow):
ctx.log.info("RespModif triggered")
if flow.request.url == "https://api.example.com/api/v1/user/info":
ctx.log.info("RespModif triggered -- In the if statement")
self.num = self.num + 1
ctx.log.info("RespModif -- Proceeded to %d response modifications "
"of the targetted URLs" % self.num)
addons = [
RespModif()
]
Просматривая журнал событий, я вижу, что первая информация журнала («RespModif triggered») передается в журнал, но две другие данные журнала (выполняемые из инструкции if
) никогда не сообщаются, а это означает, что я думаю, что инструкция if
никогда не выполняется.
Что-то не так с моим кодом?
Как добиться успешного выполнения инструкции if
?
PS: целевой URL определенно правильный, к тому же я использую его с зарегистрированной учетной записью из клиентского приложения, которое прослушивается с помощью mitmproxy.