吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11679|回复: 45
上一主题 下一主题
收起左侧

[其他转载] 腾讯视频的真实地址解析PHP源码(测试)

[复制链接]
跳转到指定楼层
楼主
灵感小菜 发表于 2022-10-16 12:55 回帖奖励
经过测试,确实可以抓到地址,我不是原创啊,但是来源我也不知道,只是发给大家做个学习研究,不要商用啊。。,

[PHP] 纯文本查看 复制代码
<?php
/*
    qq视频 m3u8解析

    调用例子
    仅供学习参考!仅供学习参考!仅供学习参考!非法使用后果自负!
    首先你需要一个有vip权限的Cookies账号
    获取Cookies方法不多赘述
    $VIPCookies 为Cookie必填参数
    如果无法播放 仅需给m3u8文件进行保存 且补齐协议头即可
    */  

    $VIPCookies = [
        '',
        '',
    ];// 必填VIP Cookies
    $getUrl = isset($_GET['url'])?$_GET['url']:'';
    if($getUrl == ''){
        $data = [
            'code'=>400,
            'msg'=>'NO Url?'
        ];
        echo json_encode($data);
    }else{
        preg_match("/https:\/\/v.qq.com\/x\/cover\/(.*?)\/(.*?).html/", $getUrl, $vid);
        $curl ='https://vv.video.qq.com/getinfo?encver=2&defn=shd&platform=10801&otype=ojson&sdtfrom=v4138&appVer=7&dtype=3&vid='.$vid[2].'&newnettype=1';
        $JsonInfo = vip_curl($curl,$VIPCookies[mt_rand(0,count($VIPCookies))]);
        $JsonData = json_decode($JsonInfo,true);
        $vurl = $JsonData["vl"]["vi"][0]['ul']['ui'][0]['url'].$JsonData["vl"]["vi"][0]['ul']['ui'][0]['hls']['pt'];
        $data = [
            'code'=>200,
            'msg'=>'OK',
            'url'=>$vurl,
            'm3u8_to'=>$JsonData["vl"]["vi"][0]['ul']['ui'][0]['url']
        ];
        echo json_encode($data);

    }
    function getC($str, $leftStr, $rightStr)
    {
        $left = strpos($str, $leftStr);
        $right = strpos($str, $rightStr,$left);
        if($left < 0 or $right < $left) return '';
        return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
    }
    function vip_curl($url,$cookie='')
    {
        $header = array (
            0 => 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            1 => 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-HK;q=0.7',
            2 => 'Cache-Control: max-age=0',
            3 => 'Connection: keep-alive',
            4 => 'Sec-Fetch-Dest: document',
            5 => 'Sec-Fetch-Mode: navigate',
            6 => 'Sec-Fetch-Site: none',
            7 => 'Sec-Fetch-User: ?1',
            8 => 'Upgrade-Insecure-Requests: 1',
            9 => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36',
            10 => 'sec-ch-ua: ^\\^',
            11 => 'sec-ch-ua-mobile: ?0',
            12 => 'sec-ch-ua-platform: ^\\^',
            13 =>'Cookie:'.$cookie
          );
        $timeout = 10;
        $ch  = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_ENCODING, "gzip");
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        if(substr($url, 0, 8) === 'https://') {
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        }
        if(!empty($postData)) {
            curl_setopt($ch, CURLOPT_POST, 1);               
            curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
        }
        if(!empty($cookie)) {
            $header[] = $cookie;
        }
        if(!empty($header)) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        }
        curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout);
        $content = curl_exec($ch);
        if($error = curl_error($ch)) {
            error_log($error);
        }
        curl_close($ch);
        return $content;
    }
    function rand_ip(){
        $ip_long = array(
        array('607649792', '608174079'), //36.56.0.0-36.63.255.255
        array('975044608', '977272831'), //58.30.0.0-58.63.255.255
        array('999751680', '999784447'), //59.151.0.0-59.151.127.255
        array('1019346944', '1019478015'), //60.194.0.0-60.195.255.255
        array('1038614528', '1039007743'), //61.232.0.0-61.237.255.255
        array('1783627776', '1784676351'), //106.80.0.0-106.95.255.255
        array('1947009024', '1947074559'), //116.13.0.0-116.13.255.255
        array('1987051520', '1988034559'), //118.112.0.0-118.126.255.255
        array('2035023872', '2035154943'), //121.76.0.0-121.77.255.255
        array('2078801920', '2079064063'), //123.232.0.0-123.235.255.255
        array('-1950089216', '-1948778497'), //139.196.0.0-139.215.255.255
        array('-1425539072', '-1425014785'), //171.8.0.0-171.15.255.255
        array('-1236271104', '-1235419137'), //182.80.0.0-182.92.255.255
        array('-770113536', '-768606209'), //210.25.0.0-210.47.255.255
        array('-569376768', '-564133889'), //222.16.0.0-222.95.255.255
        );
        $rand_key = mt_rand(0, 14);
        $huoduan_ip= long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));
        return $huoduan_ip;
        }

免费评分

参与人数 3吾爱币 +2 热心值 +3 收起 理由
五花小鱼 + 1 + 1 把爱奇艺,优酷,芒果这些都发出来吧
ehepls + 1 + 1 哈哈,这么一发,我感觉收费VIP解析里面的腾讯视频会崩盘。感谢感谢
linzi369 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
zhaoafei 发表于 2022-12-18 10:26
迷失疯子 发表于 2022-10-17 09:28
[mw_shl_code=php,true]    $VIPCookies = [
        '',
        '',

我也想知道cookie怎么填,会的解说一下呗
推荐
迷失疯子 发表于 2022-10-17 09:28
[PHP] 纯文本查看 复制代码
    $VIPCookies = [
        '',
        '',
    ];// 必填VIP Cookies


这一段的内容应该怎么填写呢?
沙发
linzi369 发表于 2022-10-16 15:41
3#
奋斗的牛 发表于 2022-10-16 16:05
本帖最后由 奋斗的牛 于 2022-10-16 16:18 编辑

感谢大佬
4#
zhaoafei 发表于 2022-10-16 16:25
怎么用呢
5#
FIzz001 发表于 2022-10-16 16:39
感谢分享,值得学习,
6#
qiuyu2019 发表于 2022-10-16 17:02
楼主威武
7#
刘统宝 发表于 2022-10-16 17:27
干脆写个小程序出来
8#
难(男)人 发表于 2022-10-16 17:33
求详细食用方法
9#
卡繆 发表于 2022-10-16 18:16
我缺的是解析么?我缺的是VIP!!!!
10#
sgw1970 发表于 2022-10-16 18:47
需要腾讯VIP啊,有VIP就不需要这么麻烦了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 04:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表