优酷的 ccode 经常变动,会导致解析器不可用,其一般限制useragent/referer/ckey/utid/cookies
当前的解析器,大多以更换ccode为主,大体可以分为:
- App
- youku/tudou/cibn/合作方app,ccode大多为01010101多位数字字符串
- 此类ccode可以解析全长视频
- 依赖utid参数,由app算法生成,全平台app共用此utid
- 依赖useragent
- 默认ckey:
7B19C0AB12633B22E7FE81271162026020570708D6CC189E4924503C49D243A0DE6CD84A766832C2C99898FC5ED31F3709BB3CDD82C96492E721BDD381735026
- 网页
- ccode经常变动/限制
- 全长:0502/0511/0512/0515/0519... 预览:0505/0503/0516/0517/0590..
- 部分视频使用预览ccode不能解析全长视频,具体由json.data.show.copyright字段控制
- 目前有效的解决方法为带cookies访问,或者带ckey(110#/112#/113#)访问
- 同个ckey(115#)有解析时效限制
- ckey(115#)获取,一般可以使用phantomjs/webdriver,或者nodejs跑js获取
- ckey相关js:
https://aeu.alicdn.com/js/cj/115.js
- 各版本ckey所能解析的ccode有点差异
- 页面通过script标签引入js,因相关参数缺失以及代码限制,生成的ckey不一定可用
- 默认ckey:
DIl58SLFxFNndSV1GFNnMQVYkx1PP5tKe1siZu%2F86PR1u%2FWh1Ptd%2BWOZsHHWxysSfAOhNJpdVWsdVJNsfJ8Sxd8WKVvNfAS8aS8fAOzYARzPyPc3JvtnPHjTdKfESTdnuTW6ZPvk2pNDh4uFzotgdMEFkzQ5wZVXl2Pf1%2FY6hLK0OnCNxBj3%2Bnb0v72gZ6b0td%2BWOZsHHWxysSo%2F0y9D2K42SaB8Y%2F%2BaD2K42SaB8Y%2F%2BahU%2BWOZsHcrxysooUeND
现状
- ups/acs频率限制,解析太多会出现账户异常
- 加cookies能解决部分问题,但一次解析太多还是会被限制
- js_ckey算法也受限制,不用那么麻烦去算115#
- 普通用户少量解析不受影响,第三方api基本要采用ip代理池
- 非独播/动漫/资讯/片段等, ups算法 ccode=0512 default_ckey
- 独播/电影等等, acs/app算法 ccode=0502/010301010X js_ckey/app_ckey
- 见过ctype=30,旧app算法应该可用
- dash与tmts算法一致,依赖cmd5x算法
- cmd5x:
http://static.iqiyi.com/js/common/7d183edd03bc4414b315e8964fb41826.js
- encrypt:
md5(tmts + salt)
- salt:
h2l6suw1************************
uid要经过上报流程,链接才不会卡顿
r.pingback("//z.m.tv.sohu.com/h5_cc.gif?" + d.stringify(f))
url要经过上报流程,链接才不会卡顿