本文尝试总结一下平时使用charle的习惯,并举例说明如何进行断点调试
charles的安装配置
关于charles的安装、抓包配置(pc端配置、移动端配置)网上有很多资料,不再重复了
一个传送门:charles证书安装
一些常见的问题:
1、pc端无法抓到请求
检查有无勾选 “Proxy-macOS Proxy”(只有勾选上才能正常抓到请求)
2、手机之前能抓到请求,但是后来抓不到了
可以尝试重新安装一下证书,手机浏览器输入"chls.pro/ssl",重新安装证书
修改request
对于某些限制输入字符数的输入框,一般前端会加上限制,通过抓包其实可以绕过前端校验的,所以更严谨的做法是从接口层面就加上限制 下面举个例子,如何绕过前端,发送超长字符 例如,如下的“活动名称”前端限制输入50个字符1、针对该请求打上断点
2、打开Breakpoints Settings对该断点请求进行相关设置
双击一个请求,会弹出针对这个请求的断点编辑窗口
将Query中的内容删除,输入*; 如果修改Request数据,就将Request勾选; 如果修改Response数据,就将Response勾选; 这里只勾选Request |
3、再次触发该请求,charles自动跳转到Breakpoints页面
切换到【Edit Request】标签,然后底部切换至text标签,修改请求内容
结果如下:
进一步,由于后端没有限制输入字符,那么我们修改name参数至很长很长,甚至超过数据库定义的字段长度,看看会发生什么
发现返回系统异常了,这里如果较真的话其实可以提一个接口bug,后端接口定义不够严谨
关于修改response其实和修改request类似,这里不再叙述了~