<?php /** * 使用方法:?url=http://v.douyin.com/Ngon78/ */ header("Content-Type: application/json"); $url = isset($_GET['url']) ? $_GET['url'] : die("参数不能为空"); $UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"; $html = MloocCurlGet($url,true,$UserAgent); preg_match('~video_id=(.*?)&line~', $html, $video_id); preg_match('~cover: "(.*?)"~', $html, $cover); if(!isset($video_id[1]) || !isset($cover[1])){ $result['code'] = 400; $result['msg'] = "获取失败"; exit(json_encode($result)); } $video_id = trim($video_id[1]); $cover = trim($cover[1]); $html = MloocCurlGet("https://aweme.snssdk.com/aweme/v1/play/?video_id=$video_id"); preg_match('~Location: (.*?)\n~', $html, $location); if(!isset($location[1])){ $result['code'] = 400; $result['msg'] = "获取失败"; exit(json_encode($result)); } $location = trim($location[1]); $result['code'] = 200; $result['msg'] = "获取成功"; $result['playAddr'] = $location; $result['cover'] = $cover; exit(json_encode($result)); function MloocCurlGet($url, $idFllow=false, $UserAgent = '') { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); #关闭重定向 if($idFllow){ curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); } if($UserAgent){ curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent); } curl_setopt($curl, CURLOPT_HEADER, 1); if($cookie!=""){ curl_setopt($curl, CURLOPT_COOKIE, $cookie); } #关闭SSL curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); #返回数据不直接显示 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($curl); curl_close($curl); return $response; }
暂无讨论,说说你的看法吧