目录
- Map、Rewrite、Breakpoints的区别
- 如何使用Rewrite修改网络请求
1.修改Header
2.修改Body
修改request的Body
修改response的Body
3.修改query param
4.修改url
正文
一、Map、Rewrite、Breakpoints的区别
Charles提供了Map功能、Rewrite功能、Breakpoints功能,都可以达到修改服务器返回内容的目的,这三者的差异是:
Map功能适合长期的将某些请求重定向到另一个网络地址或本地文件
Map Local功能:将请求的返回重定向到本地文件中
Map Remote功能:将请求的域名重定向到一个网络地址
Breakpoints功能适合做临时性的修改,request和response都支持修改
Rewrite功能适合对网络请求进行一些正则替换
二、如何使用Rewrite修改网络请求
1.修改Header
例如修改cookie
1)打开Rewrite
2)添加请求
3)添加修改的类型
完成后,抓包查看之后API的变化,如下图所示
2.修改Body
修改requests的Body
当你要修改的请求内容是json数据时,就选择修改Body
配置方法如下图,将json数据直接粘贴过来修改
修改response的Body
下图是需要匹配的内容
所需要替换的内容中有空格,直接在charles中敲入空格的话,匹配不到,需要用到正则表达式才可匹配,\s表示空白字符(空格、换行、tab缩进等),*代表0个或多个
3.修改query param
如何查看你要修改的是否是query param?下图中,你要修改数据在query string中的时候,就要修改query param
4.修改url
附录:
正则可视化工具
https://regexper.com/