php获取网易云音乐地址

简介

该内容来源于泽泽社长,仅供学习使用。

网易云官方的链接: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。

食用代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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渠道链接。 这样可以简单的下载歌曲。