Tho*_*mas 54 proxy rewrite charles-proxy
我正在使用Charles Proxy重写API的响应以进行测试.
如果我设置断点,我可以按照自己的意愿完全重写原始响应.
但是,如果我想通过"重写"工具自动化它,我就卡住了,似乎你无法修改状态代码:

你知道我错过了什么吗?
emr*_*tci 17
1- 选择Tools > Rewrite或OPTION + CMD + R
2- 选择Enable Rewrite然后选择Add
3- 用您的详细信息填写字段
4- 添加类型和操作
5- 选择操作类型 -Response Status对于我们的情况 - 写入要更改的值 -500-,写入替换值 -200-
最后一步:
6- 您已准备好与 Charles 一起操作响应的状态代码
Charles Web Debugging Proxy 官网
小智 14
使用Charles 3.8+,您可以重写状态代码.
在重写工具中,选择"类型:响应状态".在匹配字段和替换字段中,请注意Charles希望传入和重写的状态与格式匹配"\d{3} .*".这意味着除了数字状态代码之外,您的重写状态必须还有一个消息部分.
例如:
比赛价值:201.*
替换值:502 Bad Gateway
从替换值中省略消息将导致不重写状态行.您可以在每个调用摘要的"注释"部分中看到Charles的重写工具输出消息.
这不是你问题的直接答案,但正如我在上面的评论中所指出的,我处于相同的情况,我找到了一个使用不同工具的解决方案,对我来说效果很好.
相反查尔斯,我跑mitmproxy,特别mitmdump,这个简短的Python 改写脚本:
#!/usr/bin/env python
def response(context, flow):
if '/somePath' not in flow.request.path:
return
flow.response.status_code = 404
Run Code Online (Sandbox Code Playgroud)
要将它挂钩到代理中,我运行mitmdump如下:
mitmdump -s /path/to/rewriting-script.py
Run Code Online (Sandbox Code Playgroud)
它很棒.
我在OS X上,我将网络接口的Web代理配置为127.0.0.1端口8080.