在过去的几天里,我尝试了 mitmproxy 作为测试工具,效果很好。但是,虽然我能够编写拦截请求的附加组件(甚至更改它们的 URL,如下面的示例),但我无法避免请求实际上是在网络中分派的。一种或另一种方式,总是使用网络执行请求。那么,我怎样才能修改我的附加组件,使其发出请求,它返回一个固定的响应,避免任何网络请求?class Interceptor: def request(self, flow: http.HTTPFlow): if http.method() == "GET": flow.request.url = "http://google.com" def response(self, flow: http.HTTPFlow): return http.HTTPResponse.make(status_code=200,b"Rambo 5")
1 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
当 mitmproxy 收到请求时,请求钩子将被执行,一旦我们从服务器获取响应,响应钩子将被执行。长话短说,一切都response为时已晚。
相反,您需要flow.response在request挂钩中进行分配。
添加回答
举报
0/150
提交
取消
