一、Charles的安装
破解版下载地址:http://13114864.ch1.ctc.data.tv002.com/down/10eaf81f0ccc616d296fb0b8311ada0e/Charles_4.5.6_xclient.info.dmg?cts=dx-f-D202A101A184A115F529a2&ctp=202A101A184A115&ctt=1583913465&limit=1&spd=45000&ctk=10eaf81f0ccc616d296fb0b8311ada0e&chk=30551cf509022d053f948e6397951000-54884352&mtd=1
官方版下载地址:
https://www.charlesproxy.com/
[破解版可终身使用,官方版只有30天免费使用期限]
安装是傻瓜式操作,只需要正常步骤走就可以啦。
PS:在安装完打开的过程中,会弹出一个弹窗,问你是否grant privilege,要点击“grant privilege”按钮,这一步是授权,愿意让Charles去监听你的浏览器请求。
二、抓包操作
正常打开Charles,我们已经可以看到界面里的“sequence”列表里出现了你的浏览器请求列表,这个时候我们可以随便点击其中一个查看请求的具体情况。(此操作看到的内容和我们浏览器的开发者工具里的network差不多)
这里我们看到的是我们浏览器所有的请求,如果想要只看到某一个具体的域名下的请求,只需要在filter输入框里输入对应的域名即可(可模糊查询,所以不输入完整也可以),如下图:

三、rewrite操作
这个操作对我们来说是最有用的操作,也是我此次研究Charles的重点。
1、点击tools->rewrite

2、将Enable Rewrite打上勾

3、点击Add->点击右边小框的Add->填写你要修改的接口的具体URL

4、点击下面的Add

5、修改接口返回的response

也可以选择修改状态码

6、点击OK->Apply,再次请求就可以得到想要的数据返回结果了。
四、打断点,修改response数据
上一步是事先预设的response结果,在一开始就写好接口返回的数据,但是我想要的是在接口返回时,看到了数据结构之后,只去修改某个特定的值,所以在接口访问时打断点,并在返回前修改response数据则是最佳方案。
1、先去访问我们想要访问的地址,找到对应的接口

2、点击右键选择“breakpoints”

3、点击Proxy->Breakpoint settings

4、双击之前打了断点的那个接口,看到弹出弹窗,在query的输入框里输入“*”

5、此时你重新访问此接口,可以看到接口跳入了我们的断点

6、点击“Edit Response”,选择“Text”,可以看到接口返回的数据,然后可以对应进行编辑

7、编辑完内容后,点击“Execute”,可以看到编辑的内容显示在了页面上

总结:想到使用Charles是因为我当前有造新的轮子的任务,在前期开发是没有具体的接口和数据提供给我们的,那么要测试就需要造假数据,但是有些通用接口返回的数据比较复杂,写在项目中实在是很难找,所以用这种方式可以直接在接口返回时修改对应某一条数据,让其显示在页面上。用Charles对于我们而言有一个弊端,无法访问自己本地起的项目,需要发布到服务器上,通过具体的地址去访问,不可访问本机。我们自己在本地起项目可造假数据调试,最后验证可在发布到测试环境后去修改接口返回数据,如何取舍可自行衡量。
网友评论