前言:
charles是开发中常用的抓包工具,功能很强大,其中能直接修改请求的有4种方法,分别是:map Local、map Remote、Rewrite和Breakpoints。
一、 map Local
1.作用
将匹配的url映射到本地文件
2.适用场景
(1)需要不断修改接口返回结果来测试各种case
(2)请求的某返回结果后端不好模拟时等
3.步骤
(1)将请求的响应结果保存:在请求处右键点击 save Response,将原有报文保存到本地
(2)将请求映射到该文件:在请求处右键点击 Map local
将请求映射到自己本地文件
(3)根据需求情况,修改本地文件并保存,当重新请求该接口时,就会看到返回结果已经改成我们映射到本地的文件
二、 map Remote
1.作用
远程映射,即把你要请求的域名映射到另一个远程域名。通常用来切换环境,
2.适用场景
(1)将测试环境的接口切换为线上环境
(2)协议转换,如把https变成http
3.步骤
(1)选择请求后,右键点击Map Remote
(2)根据情况修改映射地址信息
(3)刷新页面重新请求,就会发现请求已经映射到修改的新地址
三、 Rewrite
1.作用
对匹配的url,可正则替换request或response的各种值,包括header、host、url、path、query param、response status、body
2.适用场景
(1)修改请求的入参、header中参数等场景
3.步骤
(1)点击Tools → 点击 Rewrite
(2)勾选Enable Rewrite,点击add,添加需要重写的请求url信息
(3)点击右下角add添加需要重写的字段
(4)刷新页面重新请求,就会发现修改字段被重写了
四、 Breakpoints
1.作用
对url打断点,可以中断Request或Response,暂停时可修改请求数据或者响应结果
2.适用场景
(1)每次请求都需要修改Request或Response的header、入参、返回结果的部分值等
3.步骤
(1)在请求处右键点击Breakpoints,即开启断点(默认开启的是Request和Response,可在Breakpoint Settings中修改)
(2)断点时可修改Request或Response的值
(3)修改完成后点击Execute,继续执行后可看到修改生效