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

牦牛云(3.5USD/月 )阿里云国际版云服务器 1核1G40G

收到好多消息,让我聊一下阿里云国际版本,作为一个阿里云死忠粉,之前用的服务器都是阿里云国内版的VPS主机,对于现在火热的阿里云国际版,这段时间了解了下,觉得还是有很多部分可以聊的,毕竟,实名制的服务器规则导致国际版无需实名这一特点被无限放大。以前也写过几篇综合性的阿里云国际版vps的分析,其中有一点得到很多人的认同,那句是阿里云不管国内版还是国际版的IO读写速度实在不敢恭维,相对意义上的,如果在这...

Hostiger 16G大内存特价VPS:伊斯坦布尔机房,1核50G SSD硬盘200Mbps带宽不限流量$59/年

国外主机测评昨天接到Hostigger(现Hostiger)商家邮件推送,称其又推出了一款特价大内存VPS,机房位于土耳其的亚欧交界城市伊斯坦布尔,核50G SSD硬盘200Mbps带宽不限月流量只要$59/年。 最近一次分享的促销信息还是5月底,当时商家推出的是同机房同配置的大内存VPS,价格是$59.99/年,不过内存只有10G,虽然同样是大内存,但想必这次商家给出16G,价格却是$59/年,...

Sharktech10Gbps带宽,不限制流量,自带5个IPv4,100G防御

Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...

地址解析为你推荐
weipin唯品购,weipuvip,是诈骗网站么?充了钱之后提不出,各种套路继续充钱手游运营手册堡垒之夜新武器是什么 堡垒之夜新武器介绍图文解析拂晓雅阁有什么网站是学电脑技术的`?依赖注入什么是侵入性?还有依赖注入?今日热点怎么删除如何彻底删除今日热点办公协同软件求一款国内知名的OA办公软件,谁知道有哪些呢?网易公开课怎么下载如何将网易公开课下载到电脑上?免费qq空间装扮有办法免费装扮QQ空间吗??宽带接入服务器互联网的接入方式有哪几种?如何清理ie缓存怎么清理IE的缓存
怎么注册域名 yaokan永久域名经常更换 vps交流 liquidweb tier 优key 账号泄露 php探针 线路工具 圣诞节促销 免费ftp空间申请 骨干网络 hinet isp服务商 新世界服务器 空间购买 视频服务器是什么 网页提速 沈阳主机托管 国内域名 更多