人人视频的真实地址解析

以人人视频播放页URL http://rr.tv/#/video/172278 为例,说下真实地址解析过程。

显然,从播放页URL中可以得到一个ID:172278,这就是视频ID.

接着,调用接口 http://web.rr.tv/v3plus/video/getVideoPlayLinkByVideoId 以视频ID为表单参数发个POST请求:

video_id = 172278
api_url = 'http://api.rr.tv/v3plus/video/getVideoPlayLinkByVideoId'
r = requests.post(api_url, data={'videoId': video_id})
print r.content

上述请求返回的结果如下:

{"code":"0001","msg":"您的客户端版本过低,请尽快更新!","data":{}}

经过排查发现,请求header中需要带上如下客户端版本信息:

headers = {
    'clientVersion': '0.1.0',
    'clientType': 'web',
}

这些客户端信息可以在 http://rr.tv/static/js/app.576fc11b501f0b441c14.js 这个js文件中找到。

POST请求加上header后的返回结果如下:

{"code":"0000","msg":"","data":{"playLink":"http://qcloud.rrmj.tv/2017/06/05/344109295cd24560b55e7d1bc3fe6350.mp4.f40.mp4?sign=55eae555781939317c9eb7fe794f9c6e&t=59354d8a"}}

data中的playLink即为视频真实地址。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,373评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,949评论 18 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,245评论 4 61
  • 我当初以为毕业时会轰轰烈烈,没想到踏出校门竟悄无声息。大学四年,从军训到论文,中间隔着一个青春期,从大一早上七点起...
    臭狗熊不臭阅读 281评论 0 0
  • 1 二年前,曾后悔自己开琴行。有的时候都觉得还不如出去代课来的轻松,不用头疼员工的管理,不用操心招生还有销售这些事...
    乐学艺术中心阅读 303评论 1 7