使用charles工具构造拦截接口返回数据方法

使用场景

有些前台展示的数据,后台接口不太好构造的时候,然后还要看页面展示的效果或者页面响应的效果时,可以用到此种方法(比如未读消息展示99+,或者想要构造某个出参大于或者小于某个值,等等场景)

备注:这里我附上很详细的charles配置的教程,我在这里搬运一下,做个记录吧,省的到处搬运

Charles抓包安装使用教程 - 知乎

操作步骤

1.打开charles工具,然后触发业务,抓取接口,然后找到对应的接口,选中后右键选择save response,将接口返回数据保存到本地

2.打开保存到本地的接口响应文件,将需要修改的接口出参字段值修改一下,我是将这个出参的值改了一下,见下图。

3.然后在工具中选中接口,点击Tools,见下图

4.然后添加接口地址,点击Add(下图我已经加过了,首次进入,列表应该是空白的)

5.上方是接口的拼接,下方点击choose,然后选择本地保存的文件

 

6.以上操作完成后,就可以再次触发业务,重新抓一下接口看下是否生效了,见下图

7.然后看下前台的展示效果(此步骤根据自己业务来验证)

备注:如果仅仅想改response中的部分返回参数的值,可以使用rewrite方法,见下图(这里有个遗留问题,就是想修改返回的中文没有生效,按照网上说的请求头加了CharSet=UTF-8也不行,这里留作一个问题待后面解决吧):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Python 代码拦截 Charles 返回的请求,你可以使用 Charles 提供的远程控制 API 来实现。下面是一个示例: 1. 在 Charles 中启用远程控制 API:在 Charles 菜单中选择 `Help -> Remote Control Settings`,勾选 `Enable Remote Control` 并设置密码。 2. 安装 `requests` 库:在命令行中运行 `pip install requests` 安装 `requests` 库,用于发送 HTTP 请求。 3. 编写拦截脚本:创建一个 Python 脚本,例如 `intercept.py`,并添加以下内容: ```python import requests # Charles 远程控制 API 的地址和端口号 api_url = 'http://localhost:8888' # Charles 远程控制 API 的密码 api_password = 'your_password' # 发送命令到 Charles 远程控制 API def send_command(command): response = requests.get(api_url, params={'password': api_password, 'command': command}) return response.json() # 拦截 Charles 返回的请求 def intercept_requests(): # 启动监听模式 send_command('recording_start') # 处理返回的请求 while True: # 获取最新的请求 response = send_command('recording_last') # 解析请求信息 if 'method' in response: method = response['method'] url = response['URL'] headers = response['requestHeaders'] body = response['requestBody'] # 在这里处理请求信息,可以解析、修改或保存到本地等操作 # 例如打印请求信息 print(f'{method} {url}') print('Headers:', headers) print('Body:', body) # 继续监听新的请求 send_command('recording_continue') # 执行拦截请求 intercept_requests() ``` 在上述示例中,我们使用了 `requests` 库来发送 HTTP 请求到 Charles 远程控制 API,并通过解析返回的 JSON 数据来获取请求信息。你可以根据实际需求在 `intercept_requests()` 函数中处理请求信息,例如解析、修改或保存到本地等操作。 4. 运行脚本:在命令行中运行 `python intercept.py` 来运行拦截脚本。 当 Charles 接收到请求时,拦截脚本会获取并处理请求信息。你可以根据需要,在处理请求的部分进行相应的操作。 请注意,在使用 Charles 的远程控制 API 时,确保你已经启用了远程控制,并设置了密码。另外,这种方式仅适用于拦截 Charles 返回的请求,无法拦截其他应用程序的请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值