朋友通过微信发过来一个小程序,里面的视频让帮忙下载,小程序之中无法保存视频,也无法像浏览器一样使用开发者工具监控载入进程或通过插件获取下载地址,想要下载只得另寻它法。
抓包获得视频流
Fiddler 是一个优秀的免费 HTTP 抓包工具,相对于 Wireshark 抓取整个网卡的数据包,轻便了许多。打开 Fiddler 抓包,再打开小程序,等待视频开始载入后返回 Fiddler 中查看数据。奇怪的是没抓到任何关于小程序的数据包,此时考虑是 HTTPS 加密传输的问题。
在 Fiddler 中 Tools -> Options -> HTTPS 中打开 Capture HTTPS CONNECTs,重启 Fiddler 后重复刚才的步骤抓包,这次成功获得了有效的数据包。
分析有效数据包
大多数数据包是用于连接服务器,传输样式、图片等,删除图片和连接消息,在余下的数据包中找出视频链接。通常视频以分段 mp4、直播流 ts 格式传输,很快就定位到了所需的链接,接着我们只需要复制链接下载即可。
至于M3U8的下载,可以使用下面的工具: