思凡 admin
良辰美景,都似昙花一现。色相是空,偏偏挪不开眼。
医学生 乐队迷 摇滚 油腻大叔 爱玩
文章
37
微语
110
评论
200
个人档
mo-no-
admin@mocss.cn
Do you like me?
81

php获取网易云音乐地址

思凡 · 6年前
2018-7-18 · 记录生活 · 3.9k · 0

网易云官方有个这个东西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

访问php?id即可302转到https渠道的音乐链接。

大家可以看到里面有个if判断,判断是否是404的,因为部分音乐可能因为xx原因,用这个php获取不到,获取不到就会返回404地址,如果返回这个的话,就302跳转到原来默认的http渠道链接。

July 18,2018 16:28:40
阅读3.9k