百度搜索charles,第一个地址官方连接了:www.charlesproxy.com,下载安装即可。json
ifconfig
,以下图:allow
再进行手机操做,每一个请求都会被拦截,使用Charles可查看。浏览器
对于https的请求,拦截的是乱码,以下图,须要作一些额外的操做。服务器
须要设置SSL Proxying Settings
,将对应的域名以及端口添加进去,使用*:*
便可,以下图网络
另外还有相关证书的配置,经过help->SSL Proxying
去安装证书,Mac与iPhone都要进行安装而且信任,以下图测试
配置电脑端证书,选择install Charles Root Certificate
,而后安装,最后选择始终信任url
配置手机端证书,选择install Charles Root Certificate on a Mobile Device or Remote Browser
,而后在手机浏览器里输入chls.pro/ssl下载,进行安装。最后一步就是进入手机设置,通用->关于本机->证书信任设置
,而后信任刚刚安装的证书便可。3d
这样就能够成功的拦截https的请求。代理
截取到连接的数据是这样的: 调试
若是列表有不少的请求,能够经过左下角的Filter:
进行筛选code
首先要选择出想要mock数据的接口,设置断点
而后须要再次触发访问该接口。Charles会停留在断点接口,提供一个Edit Requese
页,可提供修改参数以及请求类型、请求连接的校验。
接着点击Execute
进行执行下一步,选择JSON Text
能够看到断点连接返回的参数,这个时候就能够改动返回值的结果,以达到想要测试的目的。
好比这里修改的是参数 "Community": "东方御花园一期",改为 "Community": "测试Mock数据",执行Execute
,即可看到下面结果(确保没有请求超时)。
按照方法一的步骤,获取到断点连接返回的数据后,把数据源拷贝出来,本地新建一个JSON类型的文件,把返回的数据复制到该文件中。 具体步骤以下:
打开软件Sublime Text
在你须要调试的接口,右键有个Map Local
选择你在本地提早写好的json文件,而后点OK
最后再次触发该请求便可。
以上是两种方法Mock数据,我的感受第二种更方便一点,毕竟网络请求通常都是会有超时状况,若是Mock数据需改比较麻烦的话,会带来不便。
最后若是须要取消断点Breakpoint
或者Map Local
,能够进行下面的操做。
进行网络请求限制网络时,可调节Download
的相关参数;若是要限制上传速度的话,可调节Upload
的相关参数。
相关设置搞定之后,点击OK进行保存,即可以进行各类弱网测试,此时你也会发现,小乌龟变绿了,貌似在睡觉,表示限制网络了。
Charles的Rewrite功能很是强大,能够重写接口全部元素的内容,例如:header、host、url、path、query、param、response status、body。
首先选择Tools->Rewrite
,会弹出下面弹窗,选中Enable Rewrite
以及点击左下角的Add
:
具体须要重写的对象,能够在Location下点击Add
去添加。具体重写操做可点击右下侧add
按钮进行添加。
当全部都添加完毕,点击OK保存便可。
最后感谢好友 @倩楠 的帮助,让我从陌生到了解的认识Charles。