记一次 Fiddler 抓包

记一次 Fiddler 抓包

December 20, 2021
分享 ,

最近买了个网课,但是想和我老婆一起看,不过换账号登录很麻烦,而且估计会有登录限制。而且还想给我们一个同事看看,换账号登录就不太现实了。
所以就想着看能不能下载下来,不过这个平台的限制做的挺死的,虽然电脑上也能播放,但是只能用微信的内置浏览器打开才可以。用第三方浏览器能打开网页,但是视频加载不出来,尝试了很多办法都没用。

后来实在没办法了就上 V2ex 上问了一下,有人说用 Fiddler 抓包可以,但是没说具体过程。

所以我先学了一下 Fddler 的用法。
打开软件后是下面这个布局,左边是拦截到的请求,双击左边列表中的项,在右边会出现对应的请求信息。

不过如果是 https 请求的话默认不会进行解密,也就无法查看具体的请求信息。所以要进选项里开启 https解密解密。

  1. 菜单上点击工具
  2. 选择选项
  3. 弹出的窗口里选择 https
  4. 然后勾选下图的三个选项,并安装证书即可。

然后就会开始截取所有电脑内的请求数据,这个时候我们运行我们想要抓包的软件,然后 Fiddler 就会开始拦截数据,左边的列表就会出现很多请求,我们就可以通过搜索来查找自己想要的数据了,匹配的数据整行都会变成黄色,这个颜色可以自行设定。


然后我自己去 github 上搜了一下看有没有相关的代码。这一搜还真让我找到了。https://github.com/Yxnt/xiaoet 这是一个 python 脚本,根据里面的要求去 Fiddler 里找对应的数据填上就可以了。

    APPID = ''  # APPid
    XIAOEID = ''  # Cookie XIAOEID
    RESOURCEID = ''  # ResourceID,这里的resourceid代表课程id
    sessionid = ''  # Cookie laravel_session

经过一番努力,终于将所有数据全部找齐。但是我全部找到后还是无法下载视频,脚本提示获取课程列表失败,后来用 vscode 调试了一下,发现虽然请求成功了,但是服务器返回的数据不对,导致无法解析。

我仔细分析了一下这个脚本,他用的好像是 PC 端的请求接口,但是我去官方查了一下,现在官方已经不提供 PC 端的软件了。所以如果想实现只能自己重新分析请求来找出微信版的接口列表了。

以后有时间了可以折腾一下试试看,但是最近没时间,所以在网上找了个收费解析的服务,用 4.8 毛钱把视频全部下载下来了。

加入评论