PHP-全民K歌直链信息解析源码

找到需要下载的歌曲,然后分享,复制一下链接.

这个随便找一个:

  1. //分享链接会泄露个人信息,我就*代替了
  2. https://node.kg.qq.com/play?s=**********&shareuid=********&topsource=a0_pn201001006_z11_u10923685_l0_t1577770997__

右键查看源码:

PHP-全民 K 歌直链信息解析源码

你会发现这其实一个 JSON 数据…那么就不用说了..

源码

  1. php
  2.  
  3. header('content-type:application/json');
  4.  
  5. $url = @$_GET['url'];
  6.  
  7. if (empty($url)) {
  8. echo json_encode(['code' => 1, 'msg' => '没有播放链接'], 320);
  9. exit;
  10. }
  11.  
  12. $data = curlGet($url);
  13.  
  14. $jsonData = getsubstr($data, 'window.__DATA__ = ', ';');
  15.  
  16. $jsonArr = json_decode($jsonData, true);
  17.  
  18. $play = [
  19. 'avatar' => $jsonArr['detail']['avatar'], //歌手头像
  20. 'content' => $jsonArr['detail']['content'], //分享内容
  21. 'cover' => $jsonArr['detail']['cover'], //歌曲封面
  22. 'nick' => $jsonArr['detail']['kg_nick'], //歌手昵称
  23. 'playurl' => $jsonArr['detail']['playurl'], //mp3 下载地址
  24. ];
  25.  
  26. echo json_encode($play, 320);
  27.  
  28. // 取中间文本函数
  29. function getsubstr($str, $leftStr, $rightStr) {
  30.  
  31. $left = strpos($str, $leftStr);
  32.  
  33. $right = strpos($str, $rightStr, $left);
  34.  
  35. if ($left < 0 or $right < $left) {
  36. return '';
  37. }
  38.  
  39. return substr($str, $left + strlen($leftStr), $right - $left - strlen($leftStr));
  40. }
  41. function curlGet($url) {
  42. $ch = curl_init();
  43. curl_setopt($ch, CURLOPT_URL, $url);
  44. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  45. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  46. curl_setopt($ch,

版权声明:
作者:超级管理员
链接: https://apecloud.ltd/article/detail.html?id=66
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
/static/admin/img/weixin.jpg/static/admin/img/zfb.jpg
<<上一篇>
PHP 采集专用curl函数封装
下一篇>>