成品地址:http://wm.lololooo.xyz
地址
效果
本地下载程序(需PHP环境)
download.zip
(688.13 KB, 下载次数: 12)
[PHP] 纯文本查看 复制代码public function getLink(Request $request){
$url = I(\’url\’);
$pattern = \'{(http|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?}\’;
preg_match($pattern,$url,$url);
if ($url){
$update[\’share_url\’] = (string)$url[0];
}else{
$this->returnJson(0,\’error\’,[\’code\’=>0,\’msg\’=>\’获取失败\’]);
}
$res = Db::name(\’log\’)->where(\’share_url\’,$update[\’share_url\’])->find();
$reqData[\’code\’] = 1;
$reqData[\’msg\’] = \’解析成功\’;
if (!$res){
$url = (string)$url[0];
$pattern = \'{(?<=\\.).*(?=\\.com)}\’;
preg_match($pattern,$url,$type);
$type = (string)$type[0];
switch ($type){
case \’douyin\’:
$res = $this->douyin($url,\’insert\’);
break;
case \’kuaishou\’:
$res = $this->ks($url,\’insert\’);
break;
default:
$this->returnJson(0,\’error\’,[\’code\’=>0,\’msg\’=>\’暂不支持该网站\’]);
break;
}
$reqData[\’addr\’] = $res[\’addr_url\’];
$reqData[\’title\’] = $res[\’title\’];
$reqData[\’cover\’] = $res[\’cover\’];
$reqData[\’is_url\’] = $res[\’is_url\’];
$this->returnJson(1,\’success\’,$reqData);
}else{
//查询是否超过一小时,超过则更新
$over_time = time() – $res[\’create_time\’];
if ($over_time>3600){
$url = (string)$url[0];
$pattern = \'{(?<=\\.).*(?=\\.com)}\’;
preg_match($pattern,$url,$type);
$type = (string)$type[0];
if ($type==\’douyin\’){
$res = $this->douyin($url,\’update\’);
}elseif ($type==\’kuaishou\’){
$res = $this->ks($url,\’update\’);
}
$reqData[\’addr\’] = $res[\’addr_url\’];
$reqData[\’title\’] = $res[\’title\’];
$reqData[\’cover\’] = $res[\’cover\’];
$reqData[\’is_url\’] = $res[\’is_url\’];
$this->returnJson(1,\’success\’,$reqData);
}else{
$reqData[\’addr\’] = $res[\’addr_url\’];
$reqData[\’cover\’] = $res[\’cover\’];
$reqData[\’title\’] = $res[\’title\’];
$reqData[\’is_url\’] = $res[\’is_url\’];
$this->returnJson(1,\’success\’,$reqData);
}
}
}
protected function douyin($url,$action = \’insert\’){
$update[\’share_url\’] = $url;
$url = get_headers($url,true);
$url = $url[\’location\’];
$pattern = \'{(?<=share\\/video\\/).*(?=\\/)}\’;
preg_match($pattern,$url,$video_id);
$video_id = $video_id[0];
$ql = QueryList::get(\’https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=\’.$video_id);
$res = json_decode($ql->getHtml(),true);
$url = $res[\’item_list\’][0][\’video\’][\’play_addr\’][\’url_list\’][0];
$update[\’title\’] = $res[\’item_list\’][0][\’share_info\’][\’share_title\’];
$update[\’cover\’] = $res[\’item_list\’][0][\’music\’][\’cover_large\’][\’url_list\’][0];
$update[\’create_time\’] = time();
$url = str_replace(\’playwm\’,\’play\’,$url);
$update[\’is_url\’] = $url;
$url = get_headers($url,true);
$url = $url[\’location\’];
$update[\’addr_url\’] = $url;
if ($action==\’insert\’){
$id = Db::name(\’log\’)->insertGetId($update);
$res = Db::name(\’log\’)->where(\’id\’,$id)->find();
}else{
$res = Db::name(\’log\’)->where(\’share_url\’,$update[\’share_url\’])->update($update);
$res = Db::name(\’log\’)->where(\’share_url\’,$update[\’share_url\’])->find();
}
return $res;
}
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!603313839@qq.com
2. 请您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源
3. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
4. 不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!
5. 不保证所有资源都完整可用,不排除存在BUG或残缺的可能,由于资源的特殊性,下载后不支持退款。
6. 站点所有资源仅供学习交流使用,切勿用于商业或者非法用途,与本站无关,一切后果请用户自负!