正文

QQ空间视频解析源码

QQ空间视频解析源码

  1. <?php   
  2. //1006_06e29b9e38374b909e5192dfea48a83c  
  3.   
  4. function get_qzone_video($picKey){  
  5.     preg_match('#p_skey=(.*);#iU’,COOKIE_QQ,$p_skey);  
  6.     preg_match('#uin=(.*);#iU’,COOKIE_QQ,$uin);  
  7.     $tk = g_tk($p_skey[1]);  
  8.     $hostUin = str_replace(“o0",“",$uin[1]);  
  9.     $api = “https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/video_get_data?g_tk={$tk}&picKey={$picKey}&number=1&hostUin={$hostUin}&getMethod=3";  
  10.     $content = curl($api,COOKIE_QQ);  
  11.     $json = str_replace(“);",“",str_replace(“_Callback(“,“",$content));  
  12.     $data = json_decode($json,true);  
  13.     if($data[“code"]==0){  
  14.         foreach ($data[“data"][“photos"as $key => $value) {  
  15.             $fkey = $value[“picKey"];  
  16.             if($fkey == $picKey){  
  17.                 $vurl = $value[“url"];  
  18.                 $videoinfo[“video"][“file"] = $vurl;  
  19.                 $videoinfo[“video"][“type"] = “video/mp4";  
  20.                 return $videoinfo;  
  21.             }  
  22.         }  
  23.     }else{  
  24.         return GlobalBase::get_unknown_video();  
  25.     }  
  26. }  
  27. function get_qzone_all_video(){  
  28.     preg_match('#p_skey=(.*);#iU’,COOKIE_QQ,$p_skey);  
  29.     preg_match('#uin=(.*);#iU’,COOKIE_QQ,$uin);  
  30.     $tk = g_tk($p_skey[1]);  
  31.     $hostUin = str_replace(“o0",“",$uin[1]);  
  32.     $api = “https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/video_get_data?g_tk={$tk}&hostUin={$hostUin}&appid=4&getMethod=2&count=2000";  
  33.     $content = curl($api,COOKIE_QQ);  
  34.     $json = str_replace(“);",“",str_replace(“_Callback(“,“",$content));  
  35.     $data = json_decode($json,true);  
  36.     if($data[“code"]==0){  
  37.         foreach ($data[“data"][“Videos"as $key => $value) {  
  38.             $videos[$key][“vid"] = $value[“vid"];  
  39.             $videos[$key][“pic"] = $value[“pre"];  
  40.             $videos[$key][“title"] = $value[“title"];  
  41.             $videos[$key][“url"] = $value[“url"];  
  42.         }  
  43.     }  
  44.     return $videos;  
  45. }  
  46.   
  47. function curl($url,$cookie=“")  
  48. {  
  49.     $params[“ua"] = “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36";  
  50.     $params[“cookie"] = $cookie;  
  51.     $params[“proxy"] = PROXY;//代理地址  
  52.     return GlobalBase::curl($url,$params);  
  53. }  
  54. function g_tk($data) {  
  55.     $t = 5381;  
  56.     $chars = str_split($data);  
  57.     for ($n = 0,$r = strlen($data); $n < $r; ++$n) {  
  58.         $t += intval32($t << 5) + ord($chars[$n]);  
  59.     }  
  60.     return $t & 2147483647;  
  61. }  
  62. function intval32($num) {  
  63.     $num = $num & 0xffffffff;  
  64.     $p = $num>>31;  
  65.     if($p==1) {  
  66.         $num = $num-1;  
  67.         $num = ~$num;  
  68.         $num = $num & 0xffffffff;  
  69.         return $num * -1;  
  70.     } else {  
  71.         return $num;  
  72.     }  
  73. }   
  74.  ?>