Charles配置指定域名抓取和雷电模拟器中抓取APP接口配置

前言

  • Charles环境:Charles 5.2.1
  • 安卓模拟器环境:雷电模拟器9/14,在CA证书配置环节版本9和14不一样,注意查看
  • 安装教程:推荐这位博主的教程
  • 该教程用于第三方软件非安卓自带软件接口抓取教程,可以用于APP开发过程中在雷电模拟器中测试,像安卓浏览器这种自带APP无法抓取,因为需要通过命令去修改CA证书提权为系统凭证,不然会提示证书无效

Charles抓取指定域名配置

1、打开include配置页面

路径:Proxy->Recording settings

2、点击添加域名

3、域名配置

如果你是想抓取自己项目的接口,这里有几种配置方式

  • 没有域名:
    • protocol:没有域名一般是http
    • host:项目地址,一般本机或者你的服务器地址,192.168.1.1
    • port:端口号,熟知的8080端口
    • path:指定路径,比如login,可以不填
  • 有域名:
    • protocol:https
    • host:域名地址,如果是测试环境存在多个的,可以采用*.公司域名.com这种方式可以匹配到test.baidu.com或者test1.baidu.com
    • port:端口号,443(注意https端口号为443)
    • path:指定路径,比如login,可以不填

4、清空页面重新发起请求查看

例如我请求了https://www.baidu.com网站,并在百度搜索引擎中查询了nh这个关键词,就会抓取所有有关baidu.com的信息

PC端配合Charles抓取APP接口

1、导出Charles证书

点击保存到指定位置

2、打开雷电模拟器,配置相关证书

  • 检查网络设置
  • 上传charles_res证书后在文件管理器打开查看,雷电模拟器支持直接拖拽进入界面后上传
  • 注意:雷电模拟器9和14导入方式不一样
    • 雷电模拟器9导入方式
      • 双击证书,这里名称可以随便输入,点击确定
      • 打开设置,找到加密与凭证可以看到导入的证书
    • 雷电模拟器14导入方式:14版本不允许直接安装证书,需要进入设置界面
      • 页面路径:设置->安全和隐私->更多安全和隐私设置->加密与凭证->安装证书->CA证书:找到你刚刚存放的路径选择证书文件即可
      • 安装完成后,可以回到可信凭证查找

如果你刚刚是把文件直接传到手机桌面,默认存储路径是在文件->图片里面

  • 查询本机ip地址
  • 查看charles代理端口

  • 在模拟器的WLAN中配置ip和端口


    到这里就可以抓取雷电模拟器中APP的接口了

3、测试

注意我们之前配置的include条件是*.baidu.com,这时候只能抓取该域名的接口,如果需要抓取别的,重新设置或者取消刚刚的include配置,抓取全部接口

由于我使用该软件是用于抓取公司的APP方便我调试接口,这里我写了一个简易的APP演示接口抓取

注意事项

  • charles没有抓取到接口
    • 检查自己配置的include是不是正确的,看看有没有把接口过滤了
    • 检查雷电模拟器WLAN设置,有没有配置你的本机IP代理
  • charles端口
    • 每个人端口可能不一样,不要直接写8888,参考PC端配合Charles抓取APP接口步骤二中查看charles代理端口
相关推荐
Java后端的Ai之路4 分钟前
Java并发编程07-等待通知机制优化循环等待
java·数据库·python
AllData公司负责人8 分钟前
AllData 可定义数据中台完成信创适配|银河麒麟 + 海光X86 CPU / 华为鲲鹏ARM CPU+ OceanBase / 人大金仓国产化环境部署落地
大数据·arm开发·数据库·人工智能·oceanbase·kingbase
bksczm9 分钟前
C++Redis开发(Ubuntu 22.04)
数据库·redis·缓存
zhangjw3423 分钟前
1-6 PostgreSQL 特色类型实战:数组、JSON & JSONB、枚举、范围类型
数据库·postgresql
杨云龙UP27 分钟前
Oracle 同义词(SYNONYM)详解及 Toad for Oracle SQL 智能补全配置实战
运维·数据库·sql·oracle·同义词·toad·toad for oracle
goehou32 分钟前
缓存该删还是该改,LLM 服务里的双写问题
redis·缓存·llm·一致性·系统设计
余槐i1 小时前
Spring Boot 3.2 偶发500无日志:线程池复用导致请求上下文丢失
spring boot·redis·后端·mysql·性能优化
倔强的石头_1 小时前
MongoDB迁移的新选项:在金仓KES上,用SQL管理文档数据
数据库
loulanyue_1 小时前
AI Agent记忆从不是向量库:Oracle拆解读写分离与记忆晋升门,终结无脑存聊天的伪智能——读Wojtek Pluta演讲
数据库·人工智能·oracle
曼岛_1 小时前
[图解密码学]第5章 对称加密基础
java·数据库·密码学