QQ爹博客 QQ爹博客

php获取网易云音乐地址

in 代码相关 文章转载请注明来源!

网易云官方有个这个东西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渠道链接。

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

音乐php网易
发表新评论
  • ]
已有 16 条评论
  1. 小さな手は
    小さな手は 7Chrome 63
    回复

    国外服务器表示无奈

    1. Jrotty
      Jrotty本文作者 10Chrome 67
      回复

      @小さな手は http://lab.qqdie.com/mp3.php?659802 我的小api,用百度语音报错

      1. 小さな手は
        小さな手は 7Chrome 63
        回复

        @Jrotty 我还花了6元去阿里云搞了个半年的共享虚拟主机

  2. Xtao_dada
    Xtao_dada 10火狐浏览器 60
    回复

    firefox的锅啊加载时断时续的说,真的不愧是渣渣播放器的说=、=

    1. Jrotty
      Jrotty本文作者 10Chrome 67
      回复

      @Xtao_dada 改了下,应该能放了,但是我发现jq写的滑动动画在火狐上卡卡的,难受

  3. 黎明余光
    黎明余光 10Edge 16
    回复

    这玩意...是 KK Player?

    1. Jrotty
      Jrotty本文作者 10Chrome 67
      回复

      @黎明余光 假装是,实际并不是

  4. Sakura
    SakuraEdge 13
    回复

    宅云上次好像加了防盗链来着。。。

    1. Jrotty
      Jrotty本文作者 10Chrome 67
      回复

      @Sakura 不知道,我这能放

  5. devoted
    devotedChrome 67
    回复

    这套播放器不错,你的新主题集成的吗?

    1. Jrotty
      Jrotty本文作者 10Chrome 67
      回复

      @devoted 渣仿kkpalyer,插件形式,过于渣渣不会公开

  6. Rinvay
    Rinvay 10Chrome 63
    回复

    前排围观大佬

前篇 后篇
雷姆
拉姆