获取真实地址解析方法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) 

ZJI:韩国BGP+CN2线路服务器,国内三网访问速度优秀,8折优惠码每月实付440元起

zji怎么样?zji最近新上韩国BGP+CN2线路服务器,国内三网访问速度优秀,适用8折优惠码zji,优惠后韩国服务器最低每月440元起。zji主机支持安装Linux或者Windows操作系统,会员中心集成电源管理功能,8折优惠码为终身折扣,续费同价,全场适用。ZJI是原Wordpress圈知名主机商:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服...

UCloud云服务器香港临时补货,(Intel)CN2 GIA优化线路,上车绝佳时机

至今为止介绍了很多UCLOUD云服务器的促销活动,UCLOUD业者以前看不到我们的个人用户,即使有促销活动,续费也很少。现在新用户的折扣力很大,包括旧用户在内也有一部分折扣。结果,我们的用户是他们的生存动力。没有共享他们的信息的理由是比较受欢迎的香港云服务器CN2GIA线路产品缺货。这不是刚才看到邮件注意和刘先生的通知,而是补充UCLOUD香港云服务器、INTELCPU配置的服务器。如果我们需要他...

HostNamaste$24 /年,美国独立日VPS优惠/1核1G/30GB/1Gbps不限流量/可选达拉斯和纽约机房/免费Windows系统/

HostNamaste是一家成立于2016年3月的印度IDC商家,目前有美国洛杉矶、达拉斯、杰克逊维尔、法国鲁贝、俄罗斯莫斯科、印度孟买、加拿大魁北克机房。其中洛杉矶是Quadranet也就是我们常说的QN机房(也有CC机房,可发工单让客服改机房);达拉斯是ColoCrossing也就是我们常说的CC机房;杰克逊维尔和法国鲁贝是OVH的高防机房。采用主流的OpenVZ和KVM架构,支持ipv6,免...

地址解析为你推荐
手游运营手册2019新个税主要内容有哪些?可以简单说明一下吗?站长故事爱迪生发明电灯的故事简短最新qq空间代码qq空间最新免费代码显卡温度多少正常显卡温度多少算正常网店推广网站可以介绍几个可以做店铺推广的网站吗?直播加速手机上什么软件可以帮助直播加速,大神们推荐推荐xp系统停止服务XP系统为什么要停止服务?人人逛街人人逛街网是正品吗ios系统ios系统的手机有哪些?宽带接入服务器目前常见宽带接入的方式有哪几种
重庆vps租用 enzu arvixe hawkhost 香港服务器99idc pw域名 kdata 免费静态空间 512m内存 国内php空间 个人空间申请 adroit 河南移动网 新世界服务器 江苏双线服务器 西安主机 ssl加速 阿里云邮箱个人版 双十二促销 winserver2008 更多