一、设置延迟
1、在Charles的Proxy菜单下,选择Throttle Settings
2、在Throttle Settings窗口中,可以设置延迟和带宽的大小
<Delay>1000</Delay>
3、以上代码表示设置延迟为1000ms,可以根据需要进行调整
二、模拟断网
1、在Charles的Proxy菜单下,选择Throttle Settings
2、在Throttle Settings窗口中,可以设置丢包率,模拟断网
<Dropped>0.2</Dropped>
3、以上代码表示设置丢包率为0.2,可以根据需要进行调整
三、限制带宽
1、在Charles的Proxy菜单下,选择Throttle Settings
2、在Throttle Settings窗口中,可以设置延迟和带宽的大小
<Bandwidth>100</Bandwidth>
3、以上代码表示限制带宽为100kb/s,可以根据需要进行调整
四、篡改请求和响应
1、在Charles的Proxy菜单下,选择Map Local
2、在Map Local窗口中,可以设置响应内容
<Response>
<Body>
<p>修改后的响应内容</p>
</Body>
</Response>
3、以上代码表示将响应内容替换为“修改后的响应内容”,可以根据需要进行调整
五、模拟网络故障
1、在Charles的Proxy菜单下,选择Simulator
2、在Simulator窗口中,可以选择模拟4种故障:网络错误、连接超时、服务器错误、DNS错误
3、选择对应的故障类型,可模拟出对应的效果
六、绕过某些请求
1、在Charles的Proxy菜单下,选择Map Remote
2、在Map Remote窗口中,可以设置某些请求不经过代理服务器
<Host name="www.example.com" isRegEx="false">
<Path name="/index.html" isRegEx="false"/>
</Host>
3、以上代码表示将www.example.com的/index.html页面直接访问,不经过代理服务器
七、使用过滤器
1、在Charles的Proxy菜单下,选择Filters
2、在Filters窗口中,可以设置过滤规则
<Include>
<Or>
<Host>www.example.com</Host>
<Host>api.example.com</Host>
</Or>
</Include>
3、以上代码表示将所有访问www.example.com和api.example.com的请求都采用过滤规则处理
八、自定义规则
1、在Charles的Proxy菜单下,选择Rewrite
2、在Rewrite窗口中,可以设置自定义规则
<Rule>
<Conditions>
<Method>GET</Method>
<Path>^/api/[^/]*$</Path>
<Query>search=([^&]*)</Query>
</Conditions>
<Actions>
<Query append="true">limit=10&search=${search}</Query>
</Actions>
</Rule>
3、以上代码表示将/api/路径下的搜索请求,添加查询参数limit=10,并且将search参数的值作为参数代入