charles 爬取微信小程序 https 请求

背景

工商业电价都是由各个不同的电网企业自己维护然后上传到国网平台的,但是每个区域、城市的电价格式都是不一样的,所以没法通过自动化脚本来实现数据的解析和存储。我们现在采取的方式是到月底后人工半自动的方式来更新下个月的电价,费时费力,而且还容易出错。

今天花了些时间搜索了一把能提供电价信息的小程序,还真给我找到了,然后便产生了爬取 api 的想法。

安装 charles

charles 官方网站:www.charlesproxy.com/,可以自行下载

配置 http-proxy,打开菜单 Proxy -> Proxy Settings 勾选 HTTP Proxy,并输入端口号,自己定义即可,如下图

为了便于贴图,这里我要抓取的目标小程序就暂定成洛克公园吧,为啥是它?因为最近刚去打过球,它显示在列表前几位而已。我们这时尝试去抓取 PC 微信小程序的包,会发现 https 的请求显示都是 unkonwn,这是因为证书校验未通过,所以我们要安装 charles 的根证书。

安装 charles 根证书

点击菜单 Help -> SSL Proxying -> Install Charles Root Certificate 菜单,点击后会跳转到系统的钥匙串并添加一个证书,此时证书还属于不可信的状态。

双击证书,更改信任规则为始终信任

然后我们再尝试去抓取小程序的请求,可以看到 https 的请求就能正常显示了。不过这种方式也不是万能的,如果你要抓取的小程序是使用云函数开发的,你就会看到很多 mmtls 请求,这是微信的数据加密协议,我目前还没找到有什么很好的方式来对数据进行解密,不知道看到这篇文章的大佬们有没有什么方案。

手机抓包

原理类似,和电脑连入同一个网络中,然后在手机的网络配置成设置代理地址为电脑 ip,端口为 8888。

手机安装 SSL 证书,步骤如下:

Help -> Install Charles Root Certificate on a Mobile Device or remote Browser,点击之后系统会有一个弹窗,点击确定

手机上打开 chls.pro/ssl 下载证书文件,然后安装,安装方案不同的手机操作可能不太一样,可以在设置中输入CA证书,然后找到下载好的证书文件进行安装即可。

证书安装好后,在手机上打开网页或者是 app,就能在电脑上看到数据请求了。

其他抓包工具

  • burp suite pro + proxifier
  • fiddler
  • wireshark
  • anyproxy
相关推荐
镜宇秋霖丶6 小时前
2026.5.6@霖宇博客制作中遇见的问题
前端·javascript·vue.js
小李子呢02117 小时前
前端八股Vue---Vue-router路由管理器
前端·javascript·vue.js
洛_尘9 小时前
Python 5:使用库
java·前端·python
Bigger9 小时前
Bun 能上生产吗?我的实战结论
前端·node.js·bun
kyriewen11 小时前
你的前端滤镜慢得像PPT?用Rust+WebAssembly,一秒处理4K图
前端·rust·webassembly
kyriewen1111 小时前
你等的Babel编译,够喝三杯咖啡了——用Rust重写的SWC,只需眨个眼
开发语言·前端·javascript·后端·性能优化·rust·前端框架
IT_陈寒11 小时前
SpringBoot自动配置坑了我,原来要这样绕过去
前端·人工智能·后端
东方小月11 小时前
Claude Code 完整上手指南:MCP、Skills、第三方模型配置一次搞定
前端·人工智能·后端
XZ探长12 小时前
基于 Trae Solo 移动办公修复 Vue3 前端服务问题
前端
蝎子莱莱爱打怪12 小时前
Claude Code 省 Token 小妙招:RTK + Caveman 组合拳
前端·人工智能·后端