找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 4165|回复: 58

[其它网络视频相关] 某视频php代理(基于guoma作者)2.22

  [复制链接]
本帖最后由 1499232490 于 2024-2-27 18:56 编辑

  • 我发现某视频里新增了request-id验证,因此新写了一个request-id变量,放在服务器中可以正常运行。我用的php版本是8.1,7.4,目前测试正常,欢迎各位小伙伴多多交流指教。
  • 我发现有ipv6网络时加载正常,ipv4加载时会卡顿。希望大神们多多指教。
  • 我因为测试时只测试了cctv1,所以自己抓了cctv1的id,其他的频道没有更新。希望小伙伴们多多实践,实践出真知(其实就是我懒哈哈哈)。我晚点儿写个抓id的教程贴好啦,挺简单的。只是为了给小萌新基础的教学。
  • 2/24更新了所有节目最高清晰度的id。

  1. <?php
  2. //https://www.yangshipin.cn/#/tv/home
  3. $id = isset($_GET['id'])?$_GET['id']:'cctv1';
  4. $n = [
  5.     //央视
  6.     'cctv4k' => 2022575203,//cccv-4k
  7.     //'cctv8k' => 2020603401,//cccv-8k
  8.     'cctv1' => 2022576803,//cccv1
  9.     'cctv2' => 2022576703,//cccv2
  10.     'cctv3' => 2022576503,//cccv3(vip)
  11.     'cctv4' => 2022576603,//cccv4
  12.     'cctv5' => 2022576403,//cccv5
  13.     'cctv5p' => 2022576303,//cccv5+
  14.     'cctv6' => 2022574304,//cccv6(vip)
  15.     'cctv7' => 2022576203,//cccv7
  16.     'cctv8' => 2022576103,//cccv8(vip)
  17.     'cctv9' => 2022576003,//cccv9
  18.     'cctv10' => 2022573003,//CCTV10
  19.     'cctv11' => 2022575903,//CCTV11
  20.     'cctv12' => 2022575803,//CCTV12
  21.     'cctv13' => 2022575703,//CCTV13
  22.     'cctv14' => 2022575603,//CCTV14
  23.     'cctv15' => 2022575503,//CCTV15
  24.     'cctv16' => 2022575403,//CCTV16
  25.     'cctv16-4k' => 2022575103,//CCTV16-4k(vip)
  26.     'cctv17' => 2022575303,//CCTV17
  27.     //央视数字
  28.     'bqkj' => 2012513403,//CCTV兵器科技(vip)
  29.     'dyjc' => 2012514403,//CCTV第一剧场(vip)
  30.     'hjjc' => 2012511203,//CCTV怀旧剧场(vip)
  31.     'fyjc' => 2012513603,//CCTV风云剧场(vip)
  32.     'fyyy' => 2012514103,//CCTV风云音乐(vip)
  33.     'fyzq' => 2012514203,//CCTV风云足球(vip)
  34.     'dszn' => 2012514003,//CCTV电视指南(vip)
  35.     'nxss' => 2012513903,//CCTV女性时尚(vip)
  36.     'whjp' => 2012513803,//CCTV央视文化精品(vip)
  37.     'sjdl' => 2012513303,//CCTV世界地理(vip)
  38.     'gefwq' => 2012512503,//CCTV高尔夫网球(vip)
  39.     'ystq' => 2012513703,//CCTV央视台球(vip)
  40.     'wsjk' => 2012513503,//CCTV卫生健康(vip)
  41.     //央视国际
  42.     'cgtn' => 2022575003,//CGTN
  43.     'cgtnjl' => 2022574703,//CGTN纪录
  44.     'cgtne' => 2022574803,//CGTN西语
  45.     'cgtnf' => 2022574903,//CGTN法语
  46.     'cgtna' => 2022574603,//CGTN阿语
  47.     'cgtnr' => 2022574803,//CGTN俄语
  48.     //卫视
  49.     'bjws' => 2000272103,//北京卫视
  50.     'dfws' => 2000292403,//东方卫视
  51.     'tjws' => 2019927003, //天津卫视
  52.     'cqws' => 2000297803,//重庆卫视
  53.     'hljws' => 2000293903,//黑龙江卫视
  54.     'lnws' => 2000281303,//辽宁卫视
  55.     'hbws' => 2000293403,//河北卫视
  56.     'sdws' => 2000294803,//山东卫视
  57.     'ahws' => 2000298003,//安徽卫视
  58.     'hnws' => 2000296103,//河南卫视
  59.     'hubws' => 2000294503,//湖北卫视
  60.     'hunws' => 2000296203,//湖南卫视
  61.     'jxws' => 2000294103,//江西卫视
  62.     'jsws' => 2000295603,//江苏卫视
  63.     'zjws' => 2000295503,//浙江卫视
  64.     'dnws' => 2000292503,//东南卫视
  65.     'gdws' => 2000292703,//广东卫视
  66.     'szws' => 2000292203,//深圳卫视
  67.     'gxws' => 2000294203,//广西卫视
  68.     'gzws' => 2000293303,//贵州卫视
  69.     'scws' => 2000295003,//四川卫视
  70.     'xjws' => 2019927403, //新疆卫视
  71.     'hinws' => 2000291503,//海南卫视
  72.     ];
  73. $cnlid = $n[$id];
  74. $guid = "lsvnggzr_uhi48nki26e";//随意字符或字符串
  75. $salt = '0f$IVHi9Qno?G';
  76. $platform = "5910204";
  77. $key = hex2bin("48e5918a74ae21c972b90cce8af6c8be");
  78. $iv = hex2bin("9a7e7d23610266b1d9fbf98581384d92");
  79. $ts = time();
  80. $el = "|{$cnlid}|{$ts}|mg3c3b04ba|V1.0.0|{$guid}|{$platform}|https://www.yangshipin.c|mozilla/5.0 (windows nt ||Mozilla|Netscape|Win32|";
  81. // 生成随机字符串并存储在变量中
  82. function nu($t = 10) {
  83.     $e = "ABCDEFGHIJKlMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  84.     $r = strlen($e);
  85.     $n = "";
  86.     for ($i = 0; $i < $t; $i++) {
  87.         $n .= $e[rand(0, $r - 1)];
  88.     }
  89.     return $n;
  90. }
  91. $randomString = nu(10);
  92. //获取当前毫秒级别时间
  93. $currentTimeMillis = round(microtime(true) * 1000);
  94. $request_id = "999999".$randomString.$currentTimeMillis;

  95. $len = strlen($el);
  96. $xl = 0;
  97. for($i=0;$i<$len;$i++){
  98.     $xl = ($xl << 5) - $xl + ord($el[$i]);
  99.     $xl &= $xl & 0xFFFFFFFF;
  100.     }

  101. $xl = ($xl > 2147483648) ? $xl - 4294967296 : $xl;

  102. $el = '|'.$xl.$el;
  103. $ckey = "--01".strtoupper(bin2hex(openssl_encrypt($el,"AES-128-CBC",$key,1,$iv)));

  104. $params = [
  105.         "adjust"=>1,
  106.         "appVer"=>"V1.0.0",
  107.         "app_version"=>"V1.0.0",
  108.         "cKey"=>$ckey,
  109.         "channel"=>"ysp_tx",
  110.         "cmd"=>"2",
  111.         "cnlid"=>"{$cnlid}",
  112.         "defn"=>"fhd",
  113.         "devid"=>"devid",
  114.         "dtype"=>"1",
  115.         "encryptVer"=>"8.1",
  116.         "guid"=>$guid,
  117.         "otype"=>"ojson",
  118.         "platform"=>$platform,
  119.         "rand_str"=>"{$ts}",
  120.         "sphttps"=>"1",
  121.         "stream"=>"2"
  122.         ];

  123. $sign = md5(http_build_query($params).$salt);
  124. $params["signature"] = $sign;

  125. $bstrURL = "https://player-api.yangshipin.cn/v1/player/get_live_info";
  126. $headers = [
  127.         "Content-Type: application/json",
  128.         "Referer: https://www.yangshipin.cn/",
  129.         "Cookie: guid={$guid};  versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=94; updateProtocol=1; seqId=1; request-id={$request_id}",
  130.         "Yspappid: 519748109",
  131.         ];
  132. $ch = curl_init($bstrURL);
  133. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  134. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  135. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  136. curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
  137. curl_setopt($ch, CURLOPT_POST,1);
  138. curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($params));
  139. $data = curl_exec($ch);
  140. //echo $data;
  141. curl_close($ch);

  142. $json = json_decode($data);
  143. $live = $json->data->backurl_list[0]->url;
  144. $burl = explode("{$n[$id]}.m3u8",$live)[0];
  145. $d = file_get_contents($live);
  146. $str = preg_replace("/(.*?.ts)/", $burl."$1",$d);
  147. header("Content-Type: application/vnd.apple.mpegurl");
  148. header("Content-Disposition: inline; filename=index.m3u8");
  149. echo $str;
  150. ?>
复制代码



附上代码,最后感谢guoma作者的无私分享~献上花花

评分

参与人数 1恩山币 +1 收起 理由
hr*** + 1 大佬,能不能这个能切换清晰度的,之前也有.

查看全部评分

感谢分享~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

感谢分享某视频php代理。。。
回复

使用道具 举报

厉害,可惜不是我的菜
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 1499232490 于 2024-2-22 16:52 编辑
oliverabc 发表于 2024-2-22 16:49
厉害,可惜不是我的菜

请问你用的是什么方法哈
回复

使用道具 举报

Warning: Attempt to read property "data" on null in 3.php on line 150

Warning: Attempt to read property "playurl" on null in 3.php on line 150

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in 3.php on line 151

Deprecated: file_get_contents(): Passing null to parameter #1 ($filename) of type string is deprecated in 3.php on line 152
回复

使用道具 举报

我运行失败了               
回复

使用道具 举报

本帖最后由 shilong 于 2024-2-22 17:11 编辑

https://player-api.yangshipin.cn/v1/player/auth
{"code":0,"msg":"ok","data":{"token":""}}


大神,这个token如何请求?能给个示范吗?
回复

使用道具 举报

 楼主| | 显示全部楼层

能给一下错误提示吗
回复

使用道具 举报

 楼主| | 显示全部楼层
nhyhb 发表于 2024-2-22 17:01
Warning: Attempt to read property "data" on null in 3.php on line 150

Warning: Attempt to read prop ...

我代码的问题,guid和gr_user_id忘记改了,我更新了代码,请再试一次
回复

使用道具 举报

 楼主| | 显示全部楼层
1499232490 发表于 2024-2-22 17:09
能给一下错误提示吗

再试一下新代码
回复

使用道具 举报

 楼主| | 显示全部楼层

再试一下新代码
回复

使用道具 举报

看看有什么不一样
回复

使用道具 举报

 楼主| | 显示全部楼层

这是网页里的央视频吗?要想找到token的话,请先告诉我它的出处,才能从对应的代码里找到token生成方法
回复

使用道具 举报

1499232490 发表于 2024-2-22 17:24
这是网页里的央视频吗?要想找到token的话,请先告诉我它的出处,才能从对应的代码里找到token生成方法 ...

是的,网页版本央视频
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-16 11:36

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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