前盐

网易云网页版自带 API,但是点击字后会自动跳转到 mp3 资源播放,这样很不屌.于是咱们就封装一个吧.

API

网易云的 API 为

我这个主题会把网易云的音乐链接自动变成 MP3 所以弄个图片

歌曲 ID 是什么?呐,就是这个.

源码

新建个 PHP 文件.

$id = @$_GET['id'];

if (empty($id)) {

exit(jsonm(['code' => 0, 'msg' => '请填写音乐 ID']));

}

// 正则判断 ID 是否正确

if (!preg_match('/^[0-9]*$/', $id)) {

exit(jsonm(['code' => 0, 'msg' => '这不是有效的音乐 ID']));

}

$api = 'http://music.163.com/song/media/outer/url?id=';

$url = $api . $id . '.mp3';

$data = curlGet($url);

// 正则取连接

preg_match_all('/Location:(.*?)\.mp3/', $data, $arr);

// 判断一下是否成功

if (empty($arr[1][0])) {

exit(jsonm(['code' => 1, 'msg' => '解析失败', 'play' => null, 'referer' => 'https://blog.kieng.cn']));

} else {

$play = $arr[1][0];

$play = str_replace('http://', 'https://', trim($play) . '.mp3');

exit(jsonm(['code' => 0, 'msg' => '解析成功', 'play' => $play, 'referer' => 'https://blog.kieng.cn']));

}

//处理成 https 格式

function curlGet($url, $referurl = '') {

if (empty($referurl)) {

$referurl = $url;

}

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

// 输出头

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//模拟常用浏览器的 useragent

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2');

// 不跟随跳转

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

//模拟来源网址

curl_setopt($ch, CURLOPT_REFERER, $referurl);

$output = curl_exec($ch);

curl_close($ch);

return $output;

}

//json 美化

function jsonm($data) {

header('content-type:application/json;charset=utf-8');

return stripslashes(json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));

}

调用:

看图吧

屁话

网页能播放的都可以解析.就是付费不付费的只要网页能播放的就能解析的!

~谢谢打赏~

最新文章

  1. 一种用于360度全景视频超分的单帧多帧联合网络
  2. 谷歌教机器人理解语义,像人一样学习复杂技能 | 附3篇论文
  3. 如果你是合格的程序员或者你认为自己是计算机科学家
  4. 【推荐系统】面向科研的推荐系统Benchmark诞生!
  5. 网易云信获中国IM云服务领域首个CSA STAR认证
  6. 分析Linux内核5.0系统调用处理过程
  7. 电路上的ESR是什么意思?
  8. 在河北当中学老师用不用考计算机,河北省教育厅出台新方案 师范生当教师也需考证...
  9. linux ftp日志_linux学习笔记(一)——Linux分区和目录结构
  10. 微信独立精彩互换抢红包系统源码ThinkPHP开源版
  11. 2019年物联网发展趋势与预测分析
  12. Ubuntu 配置vsftpd实现FTP服务器
  13. HP ProLiant DL380 G6 服务器 - 清 BIOS 的方法
  14. iTunes恢复系统显示正在等待iPhone解决步骤
  15. 通达oa SQL注入day
  16. 深度学习在时空数据的应用
  17. 用小程序做问卷调查,获取数据就是这么简单!
  18. 算数运算,逻辑运算,算术右移,逻辑右移
  19. 量化策略:如何利用死猫反弹获利?
  20. 利用json实现vivo x20手机评论的爬取

热门文章

  1. 为什么阿里规定需要在事务注解 @Transactional 中指定 rollbackFor?
  2. 皮一皮:人生就像编程,总有防不胜防的bug会被人发现...
  3. 不讲武德,拿到户口后立马辞职...
  4. 公司用了 6 年的分布式锁,很是牛逼啊!
  5. 对比Memcached和Redis,谁才是适合你的缓存?
  6. 2019互联网大厂的月饼哪家强?
  7. mysql 编码 windows_修改mysql默认编码的方法(windows环境)
  8. gogs mysql 报错_linux上Docker安装gogs私服亲测(详解)
  9. nvidia驱动程序与windows版本不兼容
  10. jcenter下载慢