Charles本身其实是一款十分强大且易用的代理软件,最近用的比较多,大致整理了一下自己用到的一些东西。

 

Charles的主要作用

1、查看网络请求,手动分析数据

2、代理接口,模拟数据

     过滤特定地址请求,提高效率

     map local映射本地文件,就是讲接口代理到本地的json文件,或者其他静态文件映射到本地

     map remote映射远程文件,比如调试线上静态的时候可以在本地开启一个服务,然后将静态映射到远程来debug。或者将调试线上bug的时候映射本地静态,调试好了在重新发布。

     save response保存返回数据json,丰富rap接口内容

3、模拟不同网络情况

     这点chrome浏览器已经提供,但charles的相对更为精细,也更为专业,可以设置带宽、通信稳定性、可靠性等。但一般来说chrome对于普通开发已经足够。

 

Charles使用技巧

1、过滤器 filter。我们能用到的过滤器主要有两大块。

     PROXY>SSL  PROXY SETTING 里面会有一个 添加一个*.test.*,*.testb.*   只过滤所有公司域名下的内容。这个东西的意思是他只会enable规定域名下的内容,别的unable。但是在structure里面还是会显示。

     PROXY>Recording Setting 里面的Include中规定了监听记录的内容

2、断点,修改request和response

     对于指定的接口,右键选择breakpoint,同时点击菜单栏中的红色六角形,enable breakpoint。此时再次请求接口就可以修改request和response来测试不同的情况了。

     每个断点第一次执行都是发送请求,在这个时候可以修改request

     第二次执行的时候是接收response,这个时候可以修改response

3、Charles完全可以代替nginx

     通过配置一个完整的mapLocal和mapRemote,并开启代理,就可以代替nginx啦。但是相比于nginx,Charles并不能以服务的形式启动,必须要开一个程序来跑。

 

除此以外,Charles还有一些比较6的功能。比如监听socket通信等等,后续有需要在更新上来。