Charles 是Mac 经常使用的抓包工具,也可在Windows使用, charles界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等,推荐使用。html
Charles 的官方网站(http://www.charlesproxy.com)下载安装;前端
Charles 是收费软件,能够免费试用 30 天。试用期事后,未付费的用户仍然能够继续使用,可是每次使用时间不能超过 30 分钟,而且启动时将会有 10 秒种的延时。git
建议购买正版使用,不想花钱买正版时,也能够下载破解使用,使用方法:浏览器
gitoschina码云源码: http://git.oschina.net/iYoungDone/charlesloader网络
只是抓取HTTP协议时不须要安装证书;HTTPS协议须要安装CA证书
app
a、 启动Charles,选择 “Proxy”->“Proxy Settings”,填入代理端口 8888,而且勾上 “Enable transparent HTTP proxying” ,点击OK,在设备上再访问网络,请求包就能够被咱们抓取到。工具
b、 经过打开Charles->Help->SSL Proxying->点击最长那个,来查看代理的IP地址、端口号测试
c、 手机和电脑都链接到同一个网段,设置移动端代理:wifi设置->高级或点击已链接的wifi->Http代理->手动->输入电脑所在的IP地址(192.168.1.104),端口号为8888网站
d、 设置好以后,启动APP,Charles会弹出是否容许提示框,点击Allow便可加密
https协议包会被加密,须要安装证书
a、 在移动端浏览器中访问:chls.pro/ssl下载安装证书
b、菜单:Proxy->SSL Proxy Setting,配置须要抓取的https URL,添加一条*.*表示捕获解析全部https请求,若是不配置则不会解析https数据包的内容。
a、 右键点击须要模拟的请求,选择Breakpoints
b、 断点设置,Proxy->Breakpoint Settings找到勾选Breakpoints的请求,双击进入编辑以下页面,把Query改为*号,点击OK,如只需修改返回值勾选Response便可
c、 再次请求该接口,会跳转到以下页面,编辑request参数以后,点击下方Execute按钮后,客户端就能够看到请求返回的数据(修改request)
d、 再次请求该接口,编辑Response参数以后,点击下方Execute按钮后,客户端就能够看到请求返回的数据(修改Response)
有时候在开发的时候咱们想要模拟一下网络慢的状况,这时候Charles他是能够帮助到你的,在Proxy->Throttle Setting,而后选择Enable Throttling,在Throttle Preset下选择网络类型便可,具体设置你能够自行拿捏。
解析下图上几个配置的含义:
Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)就是用来设定可传输数据包的最大尺寸的(MTU的说明请看百度百科)。
请求重定向的做用是什么呢?开发中通常都是测试环境,若是咱们想对比一下和线上版本的区别的话,能够讲测试的请求重定向到正式环境下。在选择 Tools->Map Remote下:
有时候咱们会测一下请求的参数不一样会带来不一样的返回结果以测试是否达到业务需求,或者须要不一样的返回结果来验证咱们对数据的处理是否正确,这时候须要后台的同事配合,可是有了Charles,咱们能够本身把控接口返回来的内容,好比数据的空与否,数据的长短等等。在Tools->Rewrite Settings下:
repeat功能对于测试同窗特别有用,能够检验接口的健壮性。
repeat功对于前端的价值是不须要刷新页面,只须要repeat请求,好比检验代理是否成功,修改请求后执行等。
“repeat”重复发送一次请求。
“repeat Advances”能够自定义重复次数和重复间隔。