网易云官方有个这个东西http://music.163.com/song/media/outer/url?id=id.mp3
,将id换为歌曲id进行访问就会302到歌曲地址。
其实这就可以拿来直接用了,但是他默认的都是http渠道的而非https,即使你访问https://music.163.com/song/media/outer/url?id=id.mp3
最后他跳转到的也是http的音乐链接。
其实他本身是支持https的,只是全都默认http,这就很难受,所以我用php写了个小工具。
<?php
$id=$_SERVER["QUERY_STRING"];
$reg = '/^[0-9][0-9]*$/';
if(preg_match($reg,$id)){
$url = 'http://music.163.com/song/media/outer/url?id='.$id.'.mp3';
$headers = get_headers($url, TRUE);
//print_r($headers);
$url = $headers['Location'];
$url = str_replace("http://","https:",$url);
if($url=="https://music.163.com/404"){
header("Location: https://music.163.com/song/media/outer/url?id=".$id.".mp3");
exit;
}else{
header("Location: ".$url."");
exit;
}
}else{
echo "非法参数";
}
?>
访问php?id
即可302转到https渠道的音乐链接。
大家可以看到里面有个if
判断,判断是否是404的,因为部分音乐可能因为xx原因,用这个php获取不到,获取不到就会返回404地址,如果返回这个的话,就302跳转到原来默认的http渠道链接。
[Meting]
[Music server="netease" id="26418808" type="song"/]
[/Meting]
版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/php-neteasecloudmusic-address.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
大佬,我PHP用QueryList爬网易音乐数据爬不出来啊,他js加密了嘛,爬不到HTML音乐那里的东西呢
网易有些音乐不是mp3格式的,可能是因为这个原因获取不到吧。还有,获取到的音乐是320的还是192或者128的呢?
大佬很厉害了
收了收了
这个API是怎么获得的!?http://45.40.206.12
不太懂你的意思...
大佬很厉害了
这个外链接口只会返回最底音质的音频,并且不知道你的 YoDu BGM 插件里面的网易云解析也使用了这样的原理,挺多其他的项目、主题应该也是用了你的php解析,然后在海外调用的时候会出现问题(403 貌似),年代久远我也记得不太清楚了。可以考虑使用 METO 的 Meting 项目,提供了 API 调用,支持多个音乐平台以及 320kbs 解析,相对来说稳定很多。
YoDu BGM用的api并不是我写的所以不存在上述问题
国外服务器表示无奈
http://lab.qqdie.com/mp3.php?659802 我的小api,用百度语音报错
我还花了6元去阿里云搞了个半年的共享虚拟主机
firefox的锅啊加载时断时续的说,真的不愧是渣渣播放器的说=、=
改了下,应该能放了,但是我发现jq写的滑动动画在火狐上卡卡的,难受