6

解析微博视频的真实播放地址

 2 years ago
source link: https://shingle.me/post/%E8%A7%A3%E6%9E%90%E5%BE%AE%E5%8D%9A%E8%A7%86%E9%A2%91%E7%9A%84%E7%9C%9F%E5%AE%9E%E6%92%AD%E6%94%BE%E5%9C%B0%E5%9D%80/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

解析微博视频的真实播放地址

2019-06-06 13:22:13 约 526 字 预计阅读 2 分钟 次阅读

微博视频目前有两种: (1)微博平台上传的视频 (2)微博旗下的美拍视频,本文说的是解析第一种视频,写于 19 年 6 月6 日,不保证时效性.

首先随便打开一个微博平台上的视频,比如

https://weibo.com/tv/v/Hxv6mkr3n?fid=1034:4379843773585775

先查看源码, 发现有一段 url 编码过的链接

可以用一万种办法直接解析里面的video-sources数据得到:

fluency=http://f.us.sinaimg.cn/001EKTL7lx07upCAXb4I010412005DFL0E010.mp4?label=mp4_ld&template=360x624.24.0&Expires=1559799410&ssig=8WwVfqT7U1&KID=unistore,video&480=http://f.us.sinaimg.cn/001EKTL7lx07upCAXb4I010412005DFL0E010.mp4?label=mp4_ld&template=360x624.24.0&Expires=1559799410&ssig=8WwVfqT7U1&KID=unistore,video&720=&qType=480

震惊!! 居然直接粗暴的在后端渲染出真实的播放地址….好了本文到此结束 :)

开个玩笑啦, 经过研究发现这个真实地址很快就会失效,过一会访问就会返回 403.

再仔细观察发现

Expires这个参数应该就是失效时间

ssig应该是根据某种算法加密生成的

所以想得到永久链接,需要自己生成合法的ssig才行.

在我全网搜索资料时没有发现有用的信息,倒是有一篇过时了的技术贴,不过最终却在微博自己的文档里找到了参数说明…

文档在这里: https://scs.sinacloud.com/doc/scs/guide/sign

根据文档得知, 此路不通…..生成 ssig参数需要对应的SecretAccessKey

而我们只知道微博平台用的AccessKey应该是video(根据文档中的KID参数解释推测得出)

看到这里是不是很失望…我甚至白写了一篇文章….

当然还有最后一种方法,问问认识的微博技术同学, 拿到对应的SecretAccessKey哈哈哈哈哈,要是被喷不要来骂我


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK