首页建站教程 橘猫去水印源码-关于Apis.php文件使用替换方法

橘猫去水印源码-关于Apis.php文件使用替换方法

如何去配置Apis.php文件看这里,复制下面代码替换接口链接就可以了

<?php namespace app\api\controller; /** * 解析接口配置 * Class Apis * @package app\api\controller…

如何去配置Apis.php文件看这里,复制下面代码替换接口链接就可以了



 
<?php namespace app\api\controller; /** * 解析接口配置 * Class Apis * @package app\api\controller */ class Apis extends Controller 
{ 
                     public function analysis($videoUrl) {
                     try { // 定义需要轮询的接口列表 
                     $apiList = [ [ 'url' => '请复制接口到这个地方替换',
                    'timeout' => 2, // 设置超时时间(以秒为单位)
                    'code' => '200', // 接口返回状态码
                    'msg' => 'msg', // 接口返回提示信息
                    'title' => 'title', // 文案
                    'cover' => 'cover',// 封面
                    'images' => 'images',// 图集
                    'video' => 'url',// 视频
                ]
            ];
            $errmsg = '去水印解析失败,请联系管理员!!!';
            foreach ($apiList as $api) {
                // 发送请求
                $response = $this->sendRequest($api['url'] . $videoUrl, $api['timeout']);
                // 检查是否请求成功
                if ($response !== false) {
                    $data = json_decode($response, true);
                    if (empty($data)){
                        continue; // 继续下一次循环,切换到下一个接口
                    }
                    if ($data['code'] == $api['code']) {
                        // 判断解析返回接口的数据是否在 data 里面
                        if (!empty($data['data'])) {
                            $data = $data['data'];
                        }
                        // 定义新的数据格式
                        $reData = [
                            "title" => $data[$api['title']],     // 将分享文案存入 reData
                            "cover" => $data[$api['cover']]     // 将封面链接存入
                        ];
                        // 判断当前是否在解析视频
                        if (empty($data[$api['images']]) || $data[$api['images']] == "" || $data[$api['images']] == null) {
                            // 拿到真实链接并存入视频链接
                            $reData['video'] = $this->getUrl302($data[$api['video']]);
                        } else {
                            // 存入图集
                            $reData['images'] = $data[$api['images']];
                        }
                        return [
                            "code" => 200,
                            "data" => $reData,  // reData 就是上面设置存入的数据
                            "msg" => "解析成功"
                        ];
                    } else {
                        // 返回的接口错误提示信息,如不需要可注释掉
                        $errmsg = $data[$api['msg']];
                        continue; // 继续下一次循环,切换到下一个接口
                    }
                }
            }
            return [
                "code" => -1,
                "data" => null,
                "msg" => $errmsg
            ];
        } catch (\Exception $e) {
            return [
                "code" => -1,
                "data" => null,
                "msg" => "解析失败,程序代码出错了"
            ];
        }
 
    }
 
 
    private function sendRequest($url, $times = 5)
    {
        $header = ['User-Agent:Mozilla/5.0 (Linux; U; Android 9; zh-cn; Redmi Note 5 Build/PKQ1.180904.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/11.10.8'];
        $con = curl_init((string)$url);
        curl_setopt($con, CURLOPT_HEADER, false);
        curl_setopt($con, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($con, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($con, CURLOPT_HTTPHEADER, $header);
        curl_setopt($con, CURLOPT_TIMEOUT, $times);
        $result = curl_exec($con);
        if ($result === false) {
            return false;
        }
        curl_close($con);
        return $result;
    }
 
    function getUrl302($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        $header = array('User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36');
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_NOBODY, true);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 20);
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $info = curl_getinfo($ch);
        curl_close($ch);
 
        return $info['url'];
    }
 
    /**
     * 抖音用户主页批量解析
     * 一个很辣鸡的方式实现的,需要定期更换cookie,因为我不会js逆向,所以只能这样了!
     * 开心锤锤 https://v.douyin.com/rMQc2cD/
     * 抖音已验证cookie获取方法是浏览器使用手机端模拟访问,找到这个接口的cookie (https://m.douyin.com/web/api/v2/aweme/post/)
     * @param $url
     * @param int $times
     * @return array
     */
    public function batch($url, $times = 0)
    {
        return $this->renderError("批量解析接口维护中");
    }
 
 
}







 
本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jiaocheng/40002.html
上一篇易优EYOUCMS 整站速度慢怎么解决?
下一篇 返回列表
zoulin

作者: zoulin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部