���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/api1.123vid.top/ |
<?php function curl_func($url) { $ch = curl_init(); $head[] = 'Host: m.youtube.com'; $head[] = 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0'; $head[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'; $head[] = 'Accept-Language: en-US,en;q=0.5'; $head[] = 'Accept-Encoding: gzip'; $head[] = 'Connection: keep-alive'; $head[] = 'Cookie: VISITOR_INFO1_LIVE=fQJoDmD2uIM; _ga=GA1.2.132832653.1582794066; PREF=app=m; CONSENT=YES+VN.vi+20170312-18-0; YSC=pZ3UxPRaYyY'; $head[] = 'Upgrade-Insecure-Requests: 1'; $head[] = 'Pragma: no-cache'; $head[] = 'Cache-Control: no-cache'; $head[] = 'TE: Trailers'; curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/28.0.1500.12 Mobile/10B329 Safari/8536.25'); curl_setopt($ch, CURLOPT_HTTPHEADER, $head); curl_setopt($ch, CURLOPT_REFERER, 'https://m.youtube.com'); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies-m-youtube-cn-com.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies-m-youtube-cn-com.txt'); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch,CURLOPT_ENCODING , "gzip"); $page = curl_exec($ch); curl_close($ch); return $page; } function weird_answer_to_weird_question($string) { return preg_replace_callback('#\\\\x([[:xdigit:]]{2})#ism', function($matches) { return chr(hexdec($matches[1])); }, $string); } function custom_json_decode($json_text) { $decoded_array = json_decode($json_text, TRUE); switch (json_last_error()) { case JSON_ERROR_NONE: return array( "status" => 0, "value" => $decoded_array ); case JSON_ERROR_DEPTH: return array( "status" => 1, "value" => 'Maximum stack depth exceeded' ); case JSON_ERROR_STATE_MISMATCH: return array( "status" => 1, "value" => 'Underflow or the modes mismatch' ); case JSON_ERROR_CTRL_CHAR: return array( "status" => 1, "value" => 'Unexpected control character found' ); case JSON_ERROR_SYNTAX: return array( "status" => 1, "value" => 'Syntax error, malformed JSON' ); case JSON_ERROR_UTF8: return array( "status" => 1, "value" => 'Malformed UTF-8 characters, possibly incorrectly encoded' ); default: return array( "status" => 1, "value" => 'Unknown error' ); } } include 'simple_html_dom.php'; $keyword = $_GET['id']; $check = substr($keyword, 0, 2); if($check!='UC'){ $url_get = 'https://m.youtube.com/user/'.$keyword.'/videos?view=0&sort=dd&shelf_id=0'; $ref = 'https://m.youtube.com/user/'.$keyword.'/videos?view=0&sort=dd&shelf_id=0'; }else { $url_get = 'https://m.youtube.com/channel/' . $keyword . '/videos?view=0&sort=dd&shelf_id=0'; $ref = 'https://m.youtube.com/channel/' . $keyword . '/videos?view=0&sort=dd&shelf_id=0'; } $day_time = date('d-m-Y'); $day_file_name = $keyword.'-'.$day_time; $content2 = ''; if(!file_exists('cache/youtube/channel-mobile3-'.$day_file_name)){ $content2 = curl_func($url_get); if(trim($content2)!='') { file_put_contents('cache/youtube/channel-mobile3-'.$day_file_name, $content2); } }else{ $content2 = file_get_contents('cache/youtube/channel-mobile3-'.$day_file_name); } /*if(strpos($content2,'Something went wrong')!==false){ $content2 = curl_func('https://m.youtube.com/c/' . $keyword . '/videos'); }*/ /*echo curl_func('https://m.youtube.com/channel/UC7ocmUwDth5vJhM15qKhv1g/videos'); exit();*/ $html = str_get_html($content2); $arr = explode('var ytInitialData = \'',$content2); $arr2 = explode('\';</script>',$arr[1]); $str= weird_answer_to_weird_question($arr2[0]); $str = html_entity_decode(stripslashes(str_ireplace('\\"','',$str))); $data = custom_json_decode($str,true); $detail['title'] = $data['value']['metadata']['channelMetadataRenderer']['title']; $detail['avatar'] = $data['value']['header']['c4TabbedHeaderRenderer']['avatar']['thumbnails']['2']['url']; $detail['banner'] = $data['value']['header']['c4TabbedHeaderRenderer']['banner']['thumbnails']['2']['url']; $detail['des'] = $data['value']['metadata']['channelMetadataRenderer']['description']; $detail['subs'] = $data['value']['header']['c4TabbedHeaderRenderer']['subscriberCountText']['runs']['0']['text']; $detail['keyword'] = $data['value']['metadata']['channelMetadataRenderer']['description']; $detail['veri'] = $data['header']['c4TabbedHeaderRenderer']['badges']['0']['metadataBadgeRenderer']['tooltip']; $detail['continuation'] = $data['value']['contents']['singleColumnBrowseResultsRenderer']['tabs']['1']['tabRenderer']['content']['richGridRenderer']['contents']['30']['continuationItemRenderer']['continuationEndpoint']['continuationCommand']['token']; $detail['ref'] = base64_encode($ref); $detail['videos'] = array(); $i=0; /*print_r($data['value']['contents']['singleColumnBrowseResultsRenderer']['tabs']['1']['tabRenderer']['content']['richGridRenderer']['contents']); exit();*/ foreach ($data['value']['contents']['singleColumnBrowseResultsRenderer']['tabs']['1']['tabRenderer']['content']['richGridRenderer']['contents'] as $key => $val) { if(!empty($val['richItemRenderer']['content']['compactVideoRenderer']['videoId']) ) { $detail['videos'][$i]['title'] = $val['richItemRenderer']['content']['compactVideoRenderer']['title']['runs']['0']['text']; $detail['videos'][$i]['id'] = $val['richItemRenderer']['content']['compactVideoRenderer']['videoId']; if (!empty($val['richItemRenderer']['content']['compactVideoRenderer']['thumbnail']['thumbnails']['4']['url'])) { $detail['videos'][$i]['img'] = $val['richItemRenderer']['content']['compactVideoRenderer']['thumbnail']['thumbnails']['4']['url']; } else { $detail['videos'][$i]['img'] = '//i.ytimg.com/vi/' . $detail['videos'][$i]['id'] . '/mqdefault.jpg'; } $detail['videos'][$i]['duration'] = $val['richItemRenderer']['content']['compactVideoRenderer']['thumbnailOverlays']['0']['thumbnailOverlayTimeStatusRenderer']['text']['runs']['0']['text']; $i++; } } echo json_encode($detail); exit(); print_r($detail); exit(); echo '<a href="https://img.123vid.top/yt_cn_con.php?token='.$detail['continuation'].'&ref='.$detail['ref'].'" target="_blank">continue</a>'; exit(); echo json_encode($detail); exit(); print_r($detail); exit(); ?>