以下是通过wireshark抓包得到的。
其中,1表示对视频进行拖拽,2是紧接着的
GET /event?t=1001&e=pgsbd&v=mlc&d=Zj1vZmYmcT1mbHYmbD1vbiZ3dD1pbnRlcmlvciZ3PW9mZg==&x=Y3Q9YSZjcz0yMTQ4JnNzaWQ9MTQzNDA4OTIxNzQyMzEwZmRhNzk1JnZlcj0xLjAuMCZmaWQ9bnVsbCZ1aWQ9MCZ0Yz0yNTEuODY1MzA2MTIyNDQ4OTQmdG89MTgyMSZ0Yj0xMDEwJnNpZD0yODY4NDImdmlkPTMxNTA2NDE2MiZ2PTMxMzJ5c3BfeW91a3VfcHMwNi0xMC0xMS01Ng== HTTP/1.1
GET /ykp2pdata?json=%7B%22ct%22:%2291%22,%22vt%22:%22flv_0%22,%22data%22:%7B%22index%22:4%7D,%22dc%22:%224134%22,%22vs%22:%2203-25-10-11%22,%22logType%22:%22play%22,%22errorType%22:%22play%22,%22ac%22:%22320100%22,%22sid%22:%22143408921742310fda795%22,%22vid%22:%22315064162%22,%22time%22:1434090289786,%22cfg%22:%22player_yk_601%22%7D HTTP/1.1
URL解码
/ykp2pdata?json={"ct":"91","vt":"flv_0","data":{"index":4},"dc":"4134","vs":"03-25-10-11","logType":"play","errorType":"play","ac":"320100","sid":"143408921742310fda795","vid":"315064162","time":1434090289786,"cfg":"player_yk_601"}
对上面的URL解码后的结果,通过json在线解析,校验后的结果如下
/ykp2pdata?json={
"ct": "91",
"vt": "flv_0",
"data": {
"index": 4
},
"dc": "4134",
"vs": "03-25-10-11",
"logType": "play",
"errorType": "play",
"ac": "320100",
"sid": "143408921742310fda795",
"vid": "315064162",
"time": 1434090289786,
"cfg": "player_yk_601"
}
其中的sid=143408921742310fda795
,在网上又看到表示时间+随机数,后六位应该表示随机数,但不知其具体表示什么意思,还有时间表示什么时间,是北京时间,还是视频播放的具体时间?
求各位大牛指点,谢谢!!!
看了下,sid的前面应该是一个时间戳,其中精确到秒的话应该取前10个字符,即1434089217,代表“2015-06-12 14:06:57”,后面大概是精确到毫秒?再后面,坐等高手分析
http://static.youku.com/v1.0.1062/index/js/common.js
var getPvid = function(len){
var randchar=["0","1","2","3","4","5","6","7","8","9",
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
];
var i=0;
var r="";
var d=new Date();
for (i=0;i<len;i++){
var index=parseInt(Math.random()*Math.pow(10,6))%randchar.length;
r+=randchar[index];
}
return d.getTime()+r;
}
logPvid=getPvid(6);
结论:sid
由当前的系统时间 + 六位随机数构成.
整体的含义,应该是生成一个用于标记当前用户的唯一值.
因为毫秒值相同且产生的6位随机值也相同的可能性太少了,以至于可以忽略不记,所以采用这种方案来给用户打标记.