我正在使用Charles Proxy来重写来自API的响应以用于测试目的。是否有可能用Charles Proxy重写状态码?
如果我设置一个断点,我允许,我想完全重写原始响应。
但是,如果我想通过“重写”工具来自动执行它,我卡住了,似乎你不能修改的状态代码:
你知道,如果我遗漏了什么?
我正在使用Charles Proxy来重写来自API的响应以用于测试目的。是否有可能用Charles Proxy重写状态码?
如果我设置一个断点,我允许,我想完全重写原始响应。
但是,如果我想通过“重写”工具来自动执行它,我卡住了,似乎你不能修改的状态代码:
你知道,如果我遗漏了什么?
这不是直接回答你的问题,但在我的评论指出上面我是在同样的情况,我发现使用不同的工具,它为我的作品很好的解决方案。
而是查尔斯的,我跑mitmproxy,特别mitmdump,这个简短的Python rewriting script:
#!/usr/bin/env python
def response(context, flow):
if '/somePath' not in flow.request.path:
return
flow.response.status_code = 404
钩它到代理服务器,我运行mitmdump
这样的:
mitmdump -s /path/to/rewriting-script.py
,它效果很好。
我在OS X和我配置的网络接口的Web代理为127.0.0.1端口8080
最后编辑:马克Liyanage的回答是最正确的这个问题现在。
不,你不,我不认为这是可能改写一个状态代码。
我不能将其添加为注释(新用户),但一个解决方法是:
我试过使用地图本地,这将是完美的,但查尔斯增加了它自己的200 OK状态代码到返回的所有文件。
编辑:你也可以使用个体反应断点和修改代码。
Marc Liyanage的答案是Charles新版本(3.8+)的正确答案。 – alejandromp
使用查尔斯3.8 +,你可以重写状态码。
在重写工具中,选择“类型:响应状态”。 在匹配字段和替换字段中,请注意,Charles预计传入和重写的状态匹配格式"\d{3} .*"
。这意味着您的重写状态除了数字状态码之外还必须有一个消息部分。
例如:
匹配值:201 *
替换值:502错误的网关
省略从替换值的消息将导致没有重写的状态线。 您可以在每个调用摘要的Notes部分中看到Charles的重写工具输出消息。
我只是想知道同样的事情。我现在需要这个功能,所以我向Charles Proxy的作者发送了支持请求。如果我知道如何做到这一点,我会报告回来。 –