这个 Charles 爬取微信小程序 HTTPS 请求的技巧,我怎么没早点发现!

image.png

背景

工商业电价都是由各个不同的电网企业自己维护然后上传到国网平台的,但是每个区域、城市的电价格式都是不一样的,所以没法通过自动化脚本来实现数据的解析和存储。我们现在采取的方式是到月底后人工半自动的方式来更新下个月的电价,费时费力,而且还容易出错。
今天花了些时间搜索了一把能提供电价信息的小程序,还真给我找到了,然后便产生了爬取 api 的想法。

安装 charles

charles 官方网站:https://www.charlesproxy.com/,可以自行下载
配置 http-proxy,打开菜单 Proxy -> Proxy Settings 勾选 HTTP Proxy,并输入端口号,自己定义即可,如下图
image.png
为了便于贴图,这里我要抓取的目标小程序就暂定成洛克公园吧,为啥是它?因为最近刚去打过球,它显示在列表前几位而已。我们这时尝试去抓取 PC 微信小程序的包,会发现 https 的请求显示都是 unkonwn,这是因为证书校验未通过,所以我们要安装 charles 的根证书。
image.png

安装 charles 根证书

点击菜单 Help -> SSL Proxying -> Install Charles Root Certificate 菜单,点击后会跳转到系统的钥匙串并添加一个证书,此时证书还属于不可信的状态。
image.png
双击证书,更改信任规则为始终信任
image.png
然后我们再尝试去抓取小程序的请求,可以看到 https 的请求就能正常显示了。不过这种方式也不是万能的,如果你要抓取的小程序是使用云函数开发的,你就会看到很多 mmtls 请求,这是微信的数据加密协议,我目前还没找到有什么很好的方式来对数据进行解密,不知道看到这篇文章的大佬们有没有什么方案。
image.png

手机抓包

原理类似,和电脑连入同一个网络中,然后在手机的网络配置成设置代理地址为电脑 ip,端口为 8888。
手机安装 SSL 证书,步骤如下:
Help -> Install Charles Root Certificate on a Mobile Device or remote Browser,点击之后系统会有一个弹窗,点击确定
image.png
手机上打开 chls.pro/ssl 下载证书文件,然后安装,安装方案不同的手机操作可能不太一样,可以在设置中输入CA证书,然后找到下载好的证书文件进行安装即可。
证书安装好后,在手机上打开网页或者是 app,就能在电脑上看到数据请求了。

其他抓包工具

  • burp suite pro + proxifier
  • fiddler
  • wireshark
  • anyproxy

想了解更多实用、好玩的软件或者工具可以关注公众号:极客枫哥
image.png

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值