测试Charles的map,rewrite,breakpoints的使用方法

Posted Bug挖掘机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试Charles的map,rewrite,breakpoints的使用方法相关的知识,希望对你有一定的参考价值。

charles的map映射

Map映射包含两种一种是 Map Remote,另一种是 Map Local

Map Remote功能:将请求的域名重定向到另一个远程URL
Map Local功能:将请求的响应结果重定向到本地文件中

设置路径:Tools -> Map Local/Remote

适用场景:Map适合长期的将某些请求重定向到另一个网络地址或将响应的结果重定向到读取本地文件

Map Remote使用方法

【测试】Charles的map,rewrite,breakpoints的使用方法_请求头
map from 填写源地址,端口号,路径,以及请求参数
map to 填写目标地址,端口号,路径,以及请求参数

注意map to 公司内网的测试环境,可能不能进行dns解析,所以需要填写ip地址+端口,不能直接填写域名
【测试】Charles的map,rewrite,breakpoints的使用方法_请求头_02
注意preserve host in header fields这一项,可以保持map remote后的请求头不改变,仍然使用原来的请求头。可以和rewrite功能配合使用,例如:map remote生效后(原先请求tieba.baidu.com 打到10.xx.xx.xx:8085),再使用rewrite修改请求头(匹配请求头中的host字段,需求是匹配到tieba.baidu.com rewrite成tieba.xxx.baidu.com),这时候必须勾选preserve host in header fields这一项,不然host字段就会改成map remote之后的host 10.xx.xx.xx:8085,不然命中rewrite的规则

Map Local的使用方法

先进入map local的设置页面,点击add
【测试】Charles的map,rewrite,breakpoints的使用方法_请求参数_03
map local 的设置页面,同样需要设置protocol协议,域名(ip),端口号,请求路径,请求参数。map local 由于是一个url对应一个返回结果,所以请求参数需要完整填写
【测试】Charles的map,rewrite,breakpoints的使用方法_字段_04
map to的本地json文件,可以通过以下方式进行获取,右键要map local的url地址,点击save response结果。通常是json文件,修改该json文件的某些字段的值,即可实现本地mock数据的效果。

【测试】Charles的map,rewrite,breakpoints的使用方法_字段_05

rewrite的使用方法

Rewrite可以:

修改请求头(Add/Modify/Remove Header)
修改Host/Path/URL
修改请求参数(Add/Modify/Remove Query-Parameter)
修改响应状态(Response Status)
修改Body

Rewrite设置路径: Tools -> Rewrite

适用场景:支持临时性修改请求头或者返回结果当中的某个字段

【测试】Charles的map,rewrite,breakpoints的使用方法_字段_06
【测试】Charles的map,rewrite,breakpoints的使用方法_请求参数_07
替换,支持正则表达式
【测试】Charles的map,rewrite,breakpoints的使用方法_请求头_08
rewrite功能详细教程
​​​ https://www.testwo.com/blog/8495​

breakpoints的使用方法

待补充

charles抓包问题及解决汇总

Charles https显示为抓包显示unknown

​https://www.jianshu.com/p/4635aa405568​


以上是关于测试Charles的map,rewrite,breakpoints的使用方法的主要内容,如果未能解决你的问题,请参考以下文章

Charles界面介绍及使用方法

charles-Mock实践(数据修改)

charles-Mock实践(数据修改)

charles如何修改请求参数-rewrite

Charles——charles 工具栏Tools总结—— 重写工具/rewrite Srttings

Charles抓包中如何使用Rewrite