通过 Fiddler 抓包来解析下载客户端视频源

问题背景

购买的网课视频,一般都是绑定到账户上,然后通过客户端或网页形式进行登录后播放,只能在特定的网页或客户端里面观看视频。有时候,课程视频还有设置效期限,超过期限就无法继续观看视频了。对于这种情况,我们会想到能不能通过一些方法把课程视频下载到本地保存起来。

对此通常有两种方法:

  • 手动进行逐个录屏保存,然而有些高级的播放器会检测录屏软件,有录屏软件运行则停止播放。
  • 通过一些技术手段解析破解,然后下载。

经过查阅资料,想着通过抓包工具来解析下载视频,经过一些尝试摸索,竟然成功实现了!接下来记录下整个过程。

抓包工具 Fiddler

Fiddler 是一个抓包工具,是一个位于客户端和服务器端的 HTTP 代理,功能非常强大,目前最常用的 http 抓包工具之一。浏览器或本地播放器发送请求后,首先经过 Fiddler,然后再发送到服务器;当服务器返回数据时,也会先经过 Fiddler,然后再发送到浏览器或本地播放器中显示。因此 Fiddler 就能够拦截到视频数据流的网址,然后可以通过 PotPlayer 这样的播放器播放网址视频流来检测,成功解析到视频网址后,就可以调用 IDM 下载。

打开 Fiddler 软件,进入主界面:

001

002

003

解析视频流

在购买该课程视频后,通过后台关联账户,就可以通过该账户登录客户端,进行观看视频。如下图,这是在客户端内视频播放的界面:

004

点开客户端视频,正常播放后,切换到 Fiddler 界面,观察解析情况发现,有条 https 协议的链接地址 https://shenggeshu.oss-cn-shanghai.aliyuncs.com/246/video/1.overall.mp4?OSSAccessKeyId=LTAI5tBDu919r3tWxa5e1hzA&Expires=1685248910&Signature=WRVzika%2F%2F%2B7eHV%2Fhn9TuAt14tew%3D,地址里面包含关键字 **..../video/1.overall.mp4....**,然后复制该 URL 链接。

007

播放视频流

打开 PotPlayer 软件,导入视频流链接:

22

223

发现能正常播放视频,即解析成功:

224

下载视频

复制 URL 后,打开 IDM,直接下载:

008

下载速度取决于你的网络和服务器带宽,由于刚才 1.overall.mp4 秒下,导致没有抓到截图,这里换成了第二个视频链接进行截图演示:

009