{"id":101658,"date":"2021-09-04T17:28:51","date_gmt":"2021-09-04T09:28:51","guid":{"rendered":"https:\/\/www.keaglegz.com\/?p=101658"},"modified":"2021-09-04T17:28:51","modified_gmt":"2021-09-04T09:28:51","slug":"%e4%b9%90%e8%a7%86%e8%a7%86%e9%a2%91%e8%a7%a3%e6%9e%90%e6%ba%90%e7%a0%81","status":"publish","type":"post","link":"https:\/\/www.dongwubaike.cn\/fanhao\/101658.html","title":{"rendered":"\u4e50\u89c6\u89c6\u9891\u89e3\u6790\u6e90\u7801"},"content":{"rendered":"\n<pre>&lt;?php    $id = Le::parse($url);    $video_info = Le::parseVideoUrl($id);    echo json_encode($video_info);      class Le    {        public static function parse($url)        {            preg_match('#vplay\/(.*?).htm#',$url,$ids);            if ($ids[1]) {                $name = \"LE-\".md5($ids[1]);            }else{                $name = \"LE-\".md5($url);            }                if (file_exists(NAME_PATH.$name)) {                $data = json_decode(file_get_contents(NAME_PATH.$name),true);                $pay = $data['pay'];                $vid = $data['vid'];                $title = $data['title'];                $poster = $data['poster'];            }else{                $content = self::curl($url);                preg_match('#vid: (.*?),#',$content,$vids);                preg_match('#title:\"(.*?)\",#',$content,$titles);                preg_match('#videoPic:\"(.*?)\",#',$content,$pics);                preg_match('#isPay: (.*?),#',$content,$isPay);                $vid = $vids[1];                $title = $titles[1];                $poster = !emptyempty($pics[1]) ? str_replace('320_200','640_320',$pics[1]) : '';                $pay = $isPay[1];\/\/\u662f\u5426\u4ed8\u8d39                file_put_contents(NAME_PATH.$name, json_encode(array(\"vid\"=&gt;$vid,\"pay\"=&gt;$pay,\"title\"=&gt;$title,\"poster\"=&gt;$poster)));            }            return $vid;        }        public static function parseVideoUrl($vid){            $time = number_format(microtime(true),3,'.','');             $tkey = self::getMmsKey($time);            $tss = GlobalBase::is_ipad() ? \"no\" : \"ios\";            $splatid = GlobalBase::is_ipad() ? 107 : 105;            $domain = GlobalBase::is_ipad() ? 'm.le.com' : 'www.le.com';            $source = GlobalBase::is_ipad() ? '1001' : '1000';            \/\/$url = \"http:\/\/player-pc.le.com\/mms\/out\/video\/playJson?id={$vid}&amp;format=1&amp;tkey={$tkey}&amp;domain=www.le.com&amp;dvtype=1000&amp;region=cn&amp;accessyx=1&amp;platid=3&amp;splatid=304&amp;source=1000&amp;tss=no\";            $url = \"http:\/\/player-pc.le.com\/mms\/out\/video\/playJson?id={$vid}&amp;platid=1&amp;splatid={$splatid}&amp;format=1&amp;tkey={$tkey}&amp;domain={$domain}&amp;dvtype=720p&amp;devid=70A6E0A1FB93DA437B79DA594B3C9D03B428043B&amp;region=cn&amp;source={$source}&amp;accessyx=1&amp;tss={$tss}\";\/\/&amp;tss=tvts                $data = self::curl($url);            \/\/print_r($data);exit;            $content = json_decode($data,true);            $playurl = $content[\"msgs\"][\"playurl\"];            $point = $content[\"msgs\"][\"point\"];            $hot = $point[\"hot\"];            $seek = $point[\"skip\"][0];                $pic = $playurl[\"picAll\"][\"640*320\"];            $domains = array(\"http:\/\/play.g3proxy.lecloud.com\",\"http:\/\/bplay.g3proxy.lecloud.com\",\"http:\/\/g3.letv.com\");            $domain = $domains[0];\/\/$domains[mt_rand(0,count($domains)-1)];            $dispatch = $playurl[\"dispatch\"];            $duration = $playurl[\"duration\"];            foreach ($dispatch as $key =&gt; $value) {                switch ($key) {                    case '350':$def = \"\u6d41\u7545\";break;                    case '1000':$def = \"\u8d85\u6e05\";break;                    case '1300':$def = \"\u539f\u753b\";break;                    case '720p':$def = \"720P\";break;                    case '1080p':$def = \"1080P\";break;                }                $vurl = $domain.$value[0];\/\/self::getVideoUrl($domain.$value[0].\"&amp;format=1&amp;expect=3&amp;sign=letv\"); \/\/&amp;format=1\u4e3ajson &amp;format=1\u4e3axml  preg_replace(\"#\/vod\/v2\/#\",\"\/                    if (GlobalBase::is_ipad()) {                    if($key ==\"1000\"){                       $videoinfo['code'] = 200;                       \/\/$videoinfo['type'] = 'le';                       \/\/$videoinfo['play'] = 'h5mp4';                       $videoinfo[\"data\"][\"url\"] = $vurl;                       return $videoinfo;exit;                   }               }else{                   if ($key == '1300' &amp;&amp; $vurl != '') {                       $fdata[0]['url'] = $vurl;                       $fdata[0]['def'] = '\u539f\u753b';                   }                    if ($key == '1080p' &amp;&amp; $vurl != '') {                       $fdata[1]['url'] = $vurl;                       $fdata[1]['def'] = '1080P';                   }                   if ($key == '1000' &amp;&amp; $vurl != '') {                       $fdata[2]['url'] = $vurl;                       $fdata[2]['def'] = '\u8d85\u6e05';                   }                   if ($key == '720p' &amp;&amp; $vurl != '') {                       $fdata[3]['url'] = $vurl;                       $fdata[3]['def'] = '720P';                   }                   if ($key == '350' &amp;&amp; $vurl != '') {                       $fdata[4]['url'] = $vurl;                       $fdata[4]['def'] = '\u6d41\u7545';                   }               }           }           for ($i=0; $i &lt;= 10 ; $i++) {                if ($fdata[$i] == '') {continue;}               $key_arrays[]=$fdata[$i];           }           $videoinfo['code'] = 200;           $videoinfo['poster'] = $img;           $videoinfo['name'] = $video_info[\"coreVideoInfo\"][\"videoName\"];           $videoinfo['play'] = '';           $videoinfo[\"data\"][\"video\"][\"file\"] = $key_arrays[0]['url'];           $videoinfo[\"data\"][\"video\"][\"type\"] = \"video\/m3u8\";           return $videoinfo;       }       public static function curl($url,$cookie=\"\")       {           $params[\"ua\"] = \"Mozilla\/5.0 (Windows NT 10.0; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/63.0.3239.84 Safari\/537.36\";           $params[\"cookie\"] = $cookie;           return GlobalBase::curl($url,$params);       }       \/\/==================================================\u4ee5\u4e0b\u4ee3\u7801\u4e0d\u9700\u8981\u4fee\u6539==========================================================       \/**        * [getVideoUrl \u83b7\u53d6\u89c6\u9891\u6700\u7ec8\u5730\u5740]        * @param  [type] $url [description]        * @return [type]      [description]        *\/       private static function getVideoUrl($url){           $data = GlobalBase::curl($url);           $content = json_decode($data,true);           $location = $content[\"location\"];           $nodelist = $content[\"nodelist\"];           $vurl = $nodelist[mt_rand(0,count($nodelist)-1)][\"location\"];           return $location;       }       \/\/========================================= \u65b9\u5f0f\u4e8c =================================================       \/**        * [getMmsKey \u83b7\u53d6tkey]        * @param  [type] $e [\u65f6\u95f4]        * @return [type]    [description]        *\/       private static function getMmsKey($e)       {           $t = 185025305;           $r = 8;           $n = $e;           $n = self::rotateRight($n, $r);           $o = self::s2v(\"O\",$n, $t);           return $o;       }       private static function rotateRight($e, $t)       {           for ($r, $n = 0; self::s2v(\"g\",$t, $n); $n++){               $r = self::s2v(\"o\",1,$e);                $e &gt;&gt;= 1;                $r &lt;&lt;= 31;                $e += $r;            }            return $e;        }        private static function s2v($k,$y,$r){            switch ($k) {                case 'D':return $y | $r;break;                case 'd':return $y % $r;break;                case 'O':return $y ^ $r;break;                case 'k':return $y &lt; $r;break;                case 'J':return $y &gt;&gt; $r;break;                case 'R':return $y === $r;break;                case 'g':return $y &gt; $r;break;                case 'o':return $y &amp; $r;break;                case 'l':return $y !== $r;break;                case 'L':return $y != $r;break;                case 'a':return $y - $r;break;                case 'u':return $y == $r;break;                case 'e':return $y &lt;&lt; $r;break;            }        }    }    ?&gt;  <\/pre>\n","protected":false},"excerpt":{"rendered":"<p>&lt;?php $id = Le::parse($url); $video_info = Le::parseVideoUrl($id); echo json_encode($video_info); class Le { public s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[10379],"class_list":["post-101658","post","type-post","status-publish","format-standard","hentry","tag-ookie"],"_links":{"self":[{"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/posts\/101658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/comments?post=101658"}],"version-history":[{"count":0,"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/posts\/101658\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/media?parent=101658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/categories?post=101658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dongwubaike.cn\/fanhao\/wp-json\/wp\/v2\/tags?post=101658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}