Mitmproxy:篡改get请求:用scrip替换请求中字符串“data:123”的所有实例

2024-03-29 10:24:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在和mitmproxy一起工作,我对它还是相当陌生的(已经用了几天了)。现在,我正试图拦截get请求,并将字符串的所有实例(例如“data:123”替换为“data:456”),然后继续信息流,意图引用应用程序的某个响应。我已经成功地截获了我想要的url,但是我不知道如何创建一个脚本来替换“data:123”的所有实例,或者是否可以在截取时执行此操作。感谢任何帮助!get请求如下所示。替换所有实例的原因是数据似乎是重复的(不必要的?)多次,手动更换是不可行的。在

    "text": {
    "data": "123",
    "size": 36,
    "style": "bold",
    "name": "text1",
    "hOffset": 250,
    "vOffset": 100,
    "alignment": "center",
    "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
    "text": {
    "data": "123",
    "size": 36,
    "style": "bold",
    "name": "text1",
    "hOffset": 250,
    "vOffset": 100,
    "alignment": "center",
    "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}

请注意,我截取的实际数据比较大,并且格式不是很好,因此需要一个脚本。我已经看过了https://github.com/mitmproxy/mitmproxy上的示例,但似乎没有任何东西能帮助我所要做的事情。在

任何帮助和指导,以找到解决我的问题是非常感谢!!!在


Tags: 数据实例textname脚本datasizeget
1条回答
网友
1楼 · 发布于 2024-03-29 10:24:22

您可以在文档中给出的实现示例的handle_requests方法中获取和修改get requests路径。在

def handle_request(self, flow):
  request = flow.request

  #                 -
  # Play with the GET path with regex
  # Add 'import re'
  newPath = re.sub(r"data:123", "data:456", request.path)
  #                 -

  flow.request.path = newPath
  flow.reply()

相关问题 更多 >