将旧版 MITMProxy 脚本转换为在 5.2 上运行时出现问题

我更新到 MITMProxy 版本 5.2。更新后,我尝试运行旧脚本并不断收到错误:

AttributeError: 'HTTPResponse' object has no attribute 'replace'

从我的代码来看:

flow.response.replace('FindThis', 'ReplaceWithThis')

我读到他们更改了替换,但找不到任何明确说明其更改内容或脚本中正确语法的文档。

我读到ModifyBodywas a replacement,但是当我将脚本从 更改replace为时ModifyBody,我会收到错误:

AttributeError: 'HTTPResponse' object has no attribute 'ModifyBody'

所以我认为它不正确或者我需要加载模块?我想知道是否有新的或相同的语法。


慕侠2389804
浏览 141回答 1
1回答

30秒到达战场

我们删除了HTTPResponse.replace,因为并不清楚哪些部分(标题、内容)是如何替换的。实际上:用于flow.response.content = flow.response.content.replace(b"foo", b"bar")在响应正文中进行二进制替换。用于flow.response.text = flow.response.text.replace("foo", "bar")在响应正文中进行文本替换。用作flow.headers字典来进行标头替换,例如flow.headers["foo"] = "42".
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python