1. mitmproxy安装
环境介绍:win11, python3.7
pip install mitmproxy==5.0.0
命令行cmd下,输入 Mitmdump 查看结果是否报错
如果报错上面这样子,就是markupsafe版本问题
换个Markupsafe版本就可以了
2. chrome证书导入+代理设置
- 访问:http://mitm.it/下载证书
会跳出一个需要输入密码的页面!
直接点击下一步,不用输入,firfox必须输入,所以我目前也没安装成功!
mitmdump -q -s response.py -p 8889
-q:屏蔽mitmdump默认的控制台日志,只显示自己脚本中的
-s:入口脚本文件
-p:更改端口为8889,默认为8080
浏览器设置代理: 10.191.116.4:8889
response.py为脚本的name
from mitmproxy import ctx, http
import json
class ModifyResponse:
def response(self, flow):
if flow.request.url.startswith("http://ut-pc.qd-aliyun-test-internal.haier.net/ledc/getLatelyHomeAppliancesOrder?page=1&size="):
# 读取文件,在当前文件路径下执行脚本,否则需要写文件的绝对路径;不然会找不到该json文件
with open('response.json', 'rb') as f:
# 从json文件中读取数据成python对象
res = json.load(f)
# 将读取的python对象转成json字符串发送给客户端
flow.response.set_text(json.dumps(res))
ctx.log.info("modify order status!")
addons = [
ModifyResponse()
]
#response.json, 是一个自己写的响应报文, url可以使用前缀一部分就行,自行测试下吧!