前言:

charles是开发中常用的抓包工具,功能很强大,其中能直接修改请求的有4种方法,分别是:map Local、map Remote、Rewrite和Breakpoints。

一、 map Local   

1.作用

将匹配的url映射到本地文件

2.适用场景

(1)需要不断修改接口返回结果来测试各种case

(2)请求的某返回结果后端不好模拟时等

3.步骤

(1)将请求的响应结果保存:在请求处右键点击 save Response,将原有报文保存到本地

charles 改请求头 charles怎么修改请求_本地文件

(2)将请求映射到该文件:在请求处右键点击 Map local

charles 改请求头 charles怎么修改请求_charles 改请求头_02

将请求映射到自己本地文件

charles 改请求头 charles怎么修改请求_右键_03

 (3)根据需求情况,修改本地文件并保存,当重新请求该接口时,就会看到返回结果已经改成我们映射到本地的文件

二、 map Remote 

1.作用

远程映射,即把你要请求的域名映射到另一个远程域名。通常用来切换环境,

2.适用场景

(1)将测试环境的接口切换为线上环境

(2)协议转换,如把https变成http

3.步骤

(1)选择请求后,右键点击Map Remote

charles 改请求头 charles怎么修改请求_本地文件_04

(2)根据情况修改映射地址信息

charles 改请求头 charles怎么修改请求_右键_05

(3)刷新页面重新请求,就会发现请求已经映射到修改的新地址

三、 Rewrite 

1.作用

对匹配的url,可正则替换request或response的各种值,包括header、host、url、path、query param、response status、body

2.适用场景

(1)修改请求的入参、header中参数等场景

3.步骤

(1)点击Tools → 点击 Rewrite

charles 改请求头 charles怎么修改请求_本地文件_06

(2)勾选Enable Rewrite,点击add,添加需要重写的请求url信息

charles 改请求头 charles怎么修改请求_前端_07

(3)点击右下角add添加需要重写的字段

charles 改请求头 charles怎么修改请求_本地文件_08

 

charles 改请求头 charles怎么修改请求_本地文件_09

(4)刷新页面重新请求,就会发现修改字段被重写了

四、 Breakpoints

1.作用

对url打断点,可以中断Request或Response,暂停时可修改请求数据或者响应结果

2.适用场景

(1)每次请求都需要修改Request或Response的header、入参、返回结果的部分值等

3.步骤

(1)在请求处右键点击Breakpoints,即开启断点(默认开启的是Request和Response,可在Breakpoint Settings中修改)

charles 改请求头 charles怎么修改请求_本地文件_10

(2)断点时可修改Request或Response的值

charles 改请求头 charles怎么修改请求_右键_11

(3)修改完成后点击Execute,继续执行后可看到修改生效