Charles修改接口

  • 一、阻塞
  • 二、拦截
  • 三、篡改包
  • 四、重定向Map Remote、 Map Local


一、阻塞

选择一个接口,右键勾选Block List

charles怎么过滤请求js charles拦截端口_网络

重新访问这接口,这条请求被阻塞,不会有返回信息。

charles怎么过滤请求js charles拦截端口_https_02


取消阻塞接口:

右键将勾选取消即可。

二、拦截

选择一个接口,右键勾选 Breakpoints

charles怎么过滤请求js charles拦截端口_https_03


点击顶部菜单栏 Proxy->Breakpoints settings

选择要拦截的接口双击,可以设置拦着请求、拦截返回,或者两个都拦截。

注意:Query这边要清空,这里是传入的参数,每次都是变动的,如果未去除,只有传入一模一样的参数时才会生效。

charles怎么过滤请求js charles拦截端口_ios_04

charles怎么过滤请求js charles拦截端口_测试工具_05


取消拦截:

方法1:Breakinpoints列表中,选择这个接口,选择Remove

方法2:在接口列表,右键将Breakinpoints取消勾选。

方法3:将Enable Breakpoints 取消勾选。

charles怎么过滤请求js charles拦截端口_ios_06

三、篡改包

修改请求

首先将接口拦截,只拦截请求勾选Request ,取消勾选Response,保存。

charles怎么过滤请求js charles拦截端口_https_07


重新请求一次页面,触发该接口,然后跳到Breakpoints列表,要选择最新的。

根据需要修改request参数值,修改完成后,点击Excute,让修改项生效执行,自动返回response。

如果选择Abort ,相当于直接阻塞。

charles怎么过滤请求js charles拦截端口_charles怎么过滤请求js_08

修改返回值

首先将接口拦截,只拦截请求勾选Response,取消勾选Request ,保存。

charles怎么过滤请求js charles拦截端口_ios_09


重新请求一次页面触发该接口,然后跳到Breakpoints列表,要选择最新的。

根据需要修改response返回值,修改完成后,点击Excute,让修改项生效执行,自动返回response。

比如:修改返回值为500,点击Excute执行,最后结果返回为500。

如果选择Abort ,相当于直接阻塞。

charles怎么过滤请求js charles拦截端口_ios_10


charles怎么过滤请求js charles拦截端口_ios_11

四、重定向Map Remote、 Map Local

通过本地生成的一份文件去替换当前接口或者文件,来满足替换的需求。
常用于:
1.用于测试过程中需要替换某个js文件进行网页测试。
2.只需要修改本地文件,去代替 频繁多次去修改某个接口的请求值或者返回值。

接口重定向:

第一种:将指定的⽹络请求重定向到另⼀个⽹址 Map Remote,即当请求接口1时,设置为请求接口2

刷新页面,Charles抓取到接口,选择接口,右键选择Map Remote,弹出设置界面,设置如图:

charles怎么过滤请求js charles拦截端口_测试工具_12


重新刷新页面,查看结果:当触发当前接口1请求时,会变成重定向去请求设置的接口2,当前接口不会有新的请求。

charles怎么过滤请求js charles拦截端口_测试工具_13

第二种:重定向为本地文件 Map Local

可以先将想要的接口文件保存一份,选择接口,右键save request或者save response,在本地修改接口文件

charles怎么过滤请求js charles拦截端口_ios_14


修改本地文件:

charles怎么过滤请求js charles拦截端口_测试工具_15


回到Charles,选择接口,右键选择Map Local,选择刚刚修改过的接口文件

charles怎么过滤请求js charles拦截端口_ios_16

重新请求页面触发该接口,查看结果显示:

charles怎么过滤请求js charles拦截端口_charles怎么过滤请求js_17


这就完成了文件替换:

比如:js文件替换,也是用Map Local

选择js文件,右键选择Map Local,选择替换为本地js文件

charles怎么过滤请求js charles拦截端口_网络_18

注意:要把Query清空,然后选择本地js文件,保存。重新刷新页面,请求的就是新的js文件了。

charles怎么过滤请求js charles拦截端口_ios_19