获取真实地址解析方法youku

地址解析  时间:2021-03-03  阅读:()

优酷视频真实地址解析方法

1. 先来看一下解析后的视频地址http://f.youku.c om/player/getF lvP ath/s id/13726418137931150_00/s t/flv/file id/0300021400518D5C5F52F8055EEB3EDF07F978-82F2-09F2-FC7D-87DFFCAC19CA?K=fcb6411a98ffbacc2411743b&hd=0http://f.youku.c om/player/getF lvP ath/s id/13726418137931150_01/s t/flv/file id/0300021401518D5C5F52F8055EEB3EDF07F978-82F2-09F2-FC7D-87DFFCAC19CA?K=b7ab4f7664a9e35c2828b9e1&hd=0http://f.youku.c om/player/getF lvP ath/s id/13726419939844902_00/s t/mp4/fileid/0300081300518D7ABE52F8055EEB3 EDF07F978-82F2-09F2-FC7D-87DFFCAC19CA?K=d12ee0b71ab69d13261d170d&hd=1

以上三段红色部分分别代表sid、 fileid和key。

我们来分析一下这个地址除了固定的部分以外整个地址由sid、 fileid和key三部分组成下面我们逐一来分析如何解析这三个值。

而蓝色的部分表示视频文件的序号16进制如果一个视频文件被分为11部分那只要把蓝色部分改为从00到0A就可以了。hd=0:标清 hd=1:高清 hd=2:超清

2. 普通的youku地址 http://v.youku.com/v_show/id_XNTc2MDc3OTE2.html

3. 把其中的红色部分复制出来拼在http://v.youku.c om/player/getPlayList/Vid eoID S/

如下http://v.youku.c om/player/getPlayList/VideoIDS/XNTc2 M D c3OTE 2

获取到jason数据如下

{

"data": [

"http://g2.ykimg.com/1100401F4651CC00254D140817BFFF0F6FF277-D229-9A0A-A8BD-6B73BE3BECDB",

"seed":7338,

"tags": [

"\u5965\u5229\u5965",

"\u4eb2\u5b50\u4e00\u523b"

],

"categories": "92",

"videoid": "144019479",

"vidEncoded": "XNTc2MDc3OTE2",

"l i st": [

"vid": "144019479",

"vidEncoded": "XNTc2MDc3OTE2",

"title":

"\u5965\u5229\u5965\u4eb2\u5b503\u53f7\u4f5c\u54c1-\u4e00\u8d77\u770b\u4e16\u754c",

"vv": "8784960"

},

"vid": "142862435",

"vidEncoded": "XNTcxNDQ5NzQw",

"title":

"\u5965\u5229\u5965\u4eb2\u5b502\u53f7\u4f5c\u54c1-\u7238\u7238\u7684\u5305\u5b50\u94fa",

"vv": "330270"

},

"vid": "140904104",

"vidEncoded": "XNTYzNjE2NDE2",

"title":

"\u5965\u5229\u5965\u4eb2\u5b501\u53f7\u4f5c\u54c1-\u6447\u6eda\u7ae5\u5e74",

"vv": "15326162"

},

"vid": "135072168",

"vidEncoded": "XNTQwMjg4Njcy",

"title":

"\u51af\u5c0f\u521a\u4eb2\u5b50\u5927\u4f5c-\u7236\u4eb2\u7bc7",

"vv": "1343811"

},

"vid": "138357528",

"vidEncoded": "XNTUzNDMwMTEy",

"title":

"\u51af\u5c0f\u521a\u4eb2\u5b50\u5927\u4f5c-\u6bcd\u4eb2\u7bc7",

"vv": "86241"

}

],

"l ist_pre": {},

"vid": "142862435",

"vidEncoded": "XNTcxNDQ5NzQw",

"title":

"\u5965\u5229\u5965\u4eb2\u5b502\u53f7\u4f5c\u54c1-\u7238\u7238\u7684\u5305\u5b50\u94fa",

"vv": "330270"

},

"username": "\u5965\u5229\u5965\u7ae5\u771f\u7a7a\u95f4",

"userid": "135774207",

"title":

"\u5965\u5229\u5965\u4eb2\u5b503\u53f7\u4f5c\u54c1-\u4e00\u8d77\u770b\u4e16\u754c",

"ts": "vszuWTDrH Mg5-yjSAWna*I8",

"tsup": "vszqYTPrHMg5-yjSAlHe*I8",

"key1": "b14bd126",

"key2": "81491ad0441781ce",

"showid": "278338",

"showid_encode": "e852b1b8c35811e296ac",

"paid":0,

"paid_type": "",

"show_videotype": 1,

},

"dvd": {

"notsharing": "0"

},

"seconds": "165.73",

"streamfi leids": {

"hd2":

"23*27*23*23*23*50*23*50*23*23*6*50*5*5*23*23*43*49*20*23*44*44*23*47*50*43

*49*44*44*44*23*25*61*49*53*9*44*44*14*20*27*25*23*14*5*61*53*23*14*43*25*27*44*14*25*6*34*25*53*44*34*42*47*9*25*50*",

"mp4":

"23*27*23*23*23*47*23*50*23*23*6*50*5*49*44*44*50*50*20*23*44*44*23*47*50*43*49*44*44*44*23*25*61*49*53*9*44*44*14*20*27*25*23*14*5*61*53*23*14*43*25*27*44*14*25*6*34*25*53*44*34*42*47*9*25*50*",

"flv":

"23*27*23*23*23*20*23*50*23*23*6*50*5*49*44*25*42*49*20*23*44*44*23*47*50*43*49*44*44*44*23*25*61*49*53*9*44*44*14*20*27*25*23*14*5*61*53*23*14*43*25*27*44*14*25*6*34*25*53*44*34*42*47*9*25*50*"

},

"segs": {

"hd2": [

{

"size": "25126208",

"seconds": "166",

"k": "f8c709b809a88c3b261d1786",

"k2": "1df409038016e8e45"

}

],

"mp4": [

{

"size": "11458293",

"seconds": "166",

"k": "6fcdf09b5aa57d1324117483",

"k2": "18778cb38988dc4e9"

}

],

"flv": [

{

",

"seconds": "166",

"k": "5a6d3f1f3a7ea4a124117483",

"k2": "1fd314c80a6f35b58"

}

]

},

"streamsizes": {

"hd2": "25126208","mp4": "11458293","flv": "5965281"},

"stream_ids": {

"hd2": "143315903","mp4": "143314458","flv": "143310233"},

"strea mlogos": {

"hd2":0,

"mp4":0,

"flv":0

},

"streamtypes": [

],

"streamtypes_o": [

"hd2",

"flvhd",

"mp4"

]

}

],

"user": {

"id":0

},

"control ler": {

"search_count": true,

"mp4_restrict": 1,

"stream_mode":2,

"video_capture": true,

"hd3_enabled": false,

"area_code":440400,

"dma_code":4134,

"continuous": 1,

"playmode": "show",

"circle": fa lse,

"tsflag": fa lse,

"other_disa ble": fa lse,

"share_disabled": false,

"download_disabled": false,

"pc_disabled": false,

"pad_disabled": false,

"mobi le_disabled": false,

"tv_disabled": false

}

}

4. 解析jason数据

通过jason数据获取sid、 fileid和key值方法如下

获取sid

/*

获取sid根据当前时间自动计算

*/private static String getSid( ) {

String sid = new Date( ) .getTime( ) + ""

+ (1000 + new Random( ) .nextInt(999) ) + "" ;

// + (new Random( ) .nextInt(9000) + 1000) ;return sid;

}

获取fileid

/*

获取fileid

参数fileid seed为上面提到的json对象中提供。

例子中的seed 7338fileId有3个值分别是flv标清在链接中的参数为hd=0

23*27*23*23*23*20*23*50*23*23*6*50*5*49*44*25*42*49*20*23*44*44*23*47

*50*43*49*44*44*44*23*25*61*49*53*9*44*44*14*20*27*25*23*14*5*61*53*23*14*43*25*27*44*14*25*6*34*25*53*44*34*42*47*9*25*50*mp 4高清在链接中的参数为hd=1

23*27*23*23*23*47*23*50*23*23*6*50*5*49*44*44*50*50*20*23*44*44*23*47

*50*43*49*44*44*44*23*25*61*49*53*9*44*44*14*20*27*25*23*14*5*61*53*23*14*43*25*27*44*14*25*6*34*25*53*44*34*42*47*9*25*50*hd2超清在链接中的参数为hd=2

23*27*23*23*23*50*23*50*23*23*6*50*5*5*23*23*43*49*20*23*44*44*23

*47*50*43*49*44*44*44*23*25*61*49*53*9*44*44*14*20*27*25*23*14*5*61*53*23*14*43*25*27*44*14*25*6*34*25*53*44*34*42*47*9*25*50*

*/private static String getFileId(String fileId, int seed) {

String mixed = getMixString(seed) ;

String[ ] ids = fileId.split("\\*") ;

String realId = "";for (int i = 0; i < ids.length; ++i) {int idx = Integer.parseInt(ids [i] ) ;realId += mixed.charAt(idx) ;

}return realId;

}private static String getMixString(int seed) {

String mixed = "";

String source =

"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\: ._-1234567890";int len = source.length( ) ;for (int i = 0; i < len; ++i) {seed = (seed * 211 + 30031) % 65536;int index = (int) (seed / 65536d * source.length( ) ) ;char c = source.charAt(index) ;mixed = mixed + c;source = source.replace(c + "", "") ;

}return mixed;

}

获取key值

直接从jason数据中获取到

标清key "5a6d3f1f3a7ea4a124117483"

高清key "6fcdf09b5aa57d1324117483"

超清key "f8c709b809a88c3b261d1786"

执行上面的程序获取到的数据如下sid 13727290697801316fileid(hd0) 

030002010051CBF9AB20FF0817BFFF09DB46FF-2390-CD40-793F-95E94FEA8691fileid(hd1) 

030008010051CBFF1120FF0817BFFF09DB46FF-2390-CD40-793F-95E94FEA8691fileid(hd2) 

云基最高500G DDoS无视CC攻击(Yunbase),洛杉矶CN2GIA、国内外高防服务器

云基成立于2020年,目前主要提供高防海内外独立服务器用户,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)、国内高防服务器(广州移动、北京多线、石家庄BGP、保定联通、扬州BGP、厦门BGP、厦门电信、...

标准互联(450元)襄阳电信100G防御服务器 10M独立带宽

目前在标准互联这边有两台香港云服务器产品,这不看到有通知到期提醒才关注到。平时我还是很少去登录这个服务商的,这个服务商最近一年的促销信息比较少,这个和他们的运营策略有关系。已经从开始的倾向低价和个人用户云服务器市场,开始转型到中高端个人和企业用户的独立服务器。在这篇文章中,有看到标准互联有推出襄阳电信高防服务器100GB防御。有三款促销方案我们有需要可以看看。我们看看几款方案配置。型号内存硬盘IP...

亚洲云-浙江高防BGP,至强铂金8270,提供自助防火墙管理,超大内存满足你各种需求

官方网站:点击访问亚洲云官网618活动方案:618特价活动(6.18-6.30)全站首月活动月底结束!地区:浙江高防BGPCPU:至强铂金8270主频7 默频3.61 睿频4.0核心:8核(最高支持64核)内存:8G(最高支持128G)DDR4 3200硬盘:40G系统盘+80G数据盘带宽:上行:20Mbps/下行:1000Mbps防御:100G(可加至300G)防火墙:提供自助 天机盾+金盾 管...

地址解析为你推荐
博客外链求博客外链方法万网核心代理在万网代理商购买万网产品,谁知道价格?知道的说下?伪静态如何设置伪静态规则今日热点怎么删除今日热点自动弹出怎么卸载或屏蔽免费免费建站可以不用钱免费做一个网站吗商标注册查询官网怎么查商标是否注册成功云挂机云挂机每天2+元你提了吗?网站优化方案一个网站进行优化的流程及步骤发邮件怎么发发邮件怎么发?office2007简体中文版求office2007免费版下载地址 无需破解无需激活无须密钥
花生壳域名贝锐 新通用顶级域名 3322动态域名 互联网域名管理办法 ssh帐号 lamp配置 hostker 腾讯实名认证中心 如何用qq邮箱发邮件 hdd 新睿云 申请网站 免费邮件服务器 yundun 512mb 免费的asp空间 新加坡空间 qq金券 注册阿里云邮箱 买空间网 更多