正文

一直播解析源码

一直播解析源码

  1. <?php   
  2. //require_once(“../include/global.inc.php");  
  3. //$url = “http://www.yizhibo.com/l/v-InULNRQCjyrNSv.html";  
  4. echo json_encode(YiZhiBo::parse($url));  
  5. /** 
  6.  
  7. */  
  8. class YiZhiBo  
  9. {  
  10.   
  11.     public static function parse($url)  
  12.     {  
  13.         $content = self::curl($url);  
  14.         preg_match('#play_url:“(.*)",#’,$content,$urls);  
  15.         preg_match('#scid:“(.*)",#’,$content,$vids);  
  16.         preg_match('#covers:“(.*)",#’,$content,$posters);  
  17.         preg_match('#nickname:“(.*)",#’,$content,$names);  
  18.   
  19.         $ids['vid’] = isset($vids[1]) ? $vids[1] : exit('dd’);  
  20.         $ids['url’] = isset($urls[1]) ? $urls[1] : ";  
  21.         $ids['poster’] = isset($posters[1]) ? $posters[1] : ";  
  22.         $ids['name’] = isset($names[1]) ? $names[1] : ";  
  23.         return self::get_video_info($ids);  
  24.     }  
  25.     public static function get_video_info($ids)  
  26.     {  
  27.         $api = “http://www.yizhibo.com/live/h5api/get_basic_live_info?scid={$ids['vid’]}";  
  28.         $content = self::curl($api);  
  29.         $json = json_decode($content,true);  
  30.         if(isset($json[“data"])){  
  31.             $data = $json[“data"];  
  32.             $name = isset($data[“nickname"]) ? $data[“nickname"] : $ids['name’];  
  33.             $videoinfo['code’] = 200;  
  34.             $videoinfo[“data"][“poster"] = isset($data[“covers"]) ? $data[“covers"] : $ids['poster’];  
  35.             $videoinfo[“data"][“url"] = isset($data[“play_url"]) ? $data[“play_url"] : $ids['url’];  
  36.             $videoinfo[“data"][“name"] = $name;  
  37.             $videoinfo[“play"] = 'hls’;  
  38.         }  
  39.         return $videoinfo;  
  40.     }  
  41.     public static function curl($url)  
  42.     {  
  43.         $params[“ua"] = “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36";  
  44.         return GlobalBase::curl($url,$params);  
  45.     }  
  46. }  
  47.  ?>