Charles修改接口
- 一、阻塞
- 二、拦截
- 三、篡改包
- 四、重定向Map Remote、 Map Local
一、阻塞
选择一个接口,右键勾选Block List
项
重新访问这接口,这条请求被阻塞,不会有返回信息。
取消阻塞接口:
右键将勾选取消即可。
二、拦截
选择一个接口,右键勾选 Breakpoints
点击顶部菜单栏 Proxy->Breakpoints settings
选择要拦截的接口双击,可以设置拦着请求、拦截返回,或者两个都拦截。
注意:Query这边要清空,这里是传入的参数,每次都是变动的,如果未去除,只有传入一模一样的参数时才会生效。
取消拦截:
方法1:Breakinpoints
列表中,选择这个接口,选择Remove
。
方法2:在接口列表,右键将Breakinpoints
取消勾选。
方法3:将Enable Breakpoints
取消勾选。
三、篡改包
修改请求
首先将接口拦截,只拦截请求勾选Request
,取消勾选Response
,保存。
重新请求一次页面,触发该接口,然后跳到Breakpoints
列表,要选择最新的。
根据需要修改request参数值,修改完成后,点击Excute
,让修改项生效执行,自动返回response。
如果选择Abort
,相当于直接阻塞。
修改返回值
首先将接口拦截,只拦截请求勾选Response
,取消勾选Request
,保存。
重新请求一次页面触发该接口,然后跳到Breakpoints
列表,要选择最新的。
根据需要修改response返回值,修改完成后,点击Excute
,让修改项生效执行,自动返回response。
比如:修改返回值为500,点击Excute
执行,最后结果返回为500。
如果选择Abort
,相当于直接阻塞。
四、重定向Map Remote、 Map Local
通过本地生成的一份文件去替换当前接口或者文件,来满足替换的需求。
常用于:
1.用于测试过程中需要替换某个js文件进行网页测试。
2.只需要修改本地文件,去代替 频繁多次去修改某个接口的请求值或者返回值。
接口重定向:
第一种:将指定的⽹络请求重定向到另⼀个⽹址 Map Remote,即当请求接口1时,设置为请求接口2
刷新页面,Charles抓取到接口,选择接口,右键选择Map Remote
,弹出设置界面,设置如图:
重新刷新页面,查看结果:当触发当前接口1请求时,会变成重定向去请求设置的接口2,当前接口不会有新的请求。
第二种:重定向为本地文件 Map Local
可以先将想要的接口文件保存一份,选择接口,右键save request
或者save response
,在本地修改接口文件
修改本地文件:
回到Charles,选择接口,右键选择Map Local
,选择刚刚修改过的接口文件
重新请求页面触发该接口,查看结果显示:
这就完成了文件替换:
比如:js文件替换,也是用Map Local
选择js文件,右键选择Map Local
,选择替换为本地js文件
注意:要把Query清空,然后选择本地js文件,保存。重新刷新页面,请求的就是新的js文件了。