网易云API获取歌单歌曲链接
获取动态网易云歌单歌曲
如图:
以下是php 代码
*
请输入<?php
//获取歌单ID
function getPlaylist($id){
$return = file_get_contents('http://music.163.com/api/playlist/detail?id='.$id);
return json_decode($return,true);
}
$api=getPlaylist('901252754');
//var_dump($api);
if(is_array($api)){
foreach ($api as $value) {
//var_dump($value);
$str = "";
if(is_array($value)){
//var_dump($value['id']);
foreach($value['tracks'] as $v){
$str.= $v['id'].',';
}
$newstr = substr($str,0,strlen($str)-1);
}
}
}
//获取单个歌曲ID遍历
function netease_AESECB($API)
{
$KEY='7246674226682325323F5E6544673A51';
$body=json_encode($API['body']);
if (function_exists('openssl_encrypt')) {
$body=openssl_encrypt($body, 'aes-128-ecb', pack('H*', $KEY));
} else {
$PAD=16-(strlen($body)%16);
$body=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, hex2bin($KEY), $body.str_repeat(chr($PAD), $PAD), MCRYPT_MODE_ECB));
}
$body=strtoupper(bin2hex(base64_decode($body)));
$API['body']=array(
'eparams'=>$body,
);
return $API;
}
$br=320;
$API=array(
'method' => 'POST',
'url' => 'http://music.163.com/api/linux/forward',
'body' => array(
'method' => 'POST',
'params' => array(
'ids' => array($newstr),
'br' => $br*1000,
),
'url' => 'http://music.163.com/api/song/enhance/player/url',
),
'encode' => 'netease_AESECB',
'decode' => 'netease_url',
);
$API = netease_AESECB($API);
$BASE = array(
'referer' => 'https://music.163.com/',
'cookie' => 'os=linux; appver=1.0.0.1026; osver=Ubuntu%2016.10; MUSIC_U=78d411095f4b022667bc8ec49e9a44cca088df057d987f5feaf066d37458e41c4a7d9447977352cf27ea9fee03f6ec4441049cea1c6bb9b6; __remember_me=true',
'useragent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
);
$curl=curl_init();
if ($API['method']=='POST') {
if (is_array($API['body'])) {
$API['body']=http_build_query($API['body']);
}
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $API['body']);
} elseif ($API['method']=='GET') {
if (isset($API['body'])) {
$API['url']=$API['url'].'?'.http_build_query($API['body']);
}
}
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
curl_setopt($curl, CURLOPT_IPRESOLVE, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_URL, $API['url']);
curl_setopt($curl, CURLOPT_COOKIE, $BASE['cookie']);
curl_setopt($curl, CURLOPT_REFERER, $BASE['referer']);
curl_setopt($curl, CURLOPT_USERAGENT, $BASE['useragent']);
$data=curl_exec($curl);
curl_close($curl);
//var_dump(json_decode($data));
$arr=json_decode($data,TRUE);
//var_dump($arr);
$url = "";
if(is_array($arr)){
foreach ($arr as $value) {
if(is_array($value)){
foreach($value as $v){
$url.= $v['url'].',';
}
}
}
}
$url = substr($url,0,strlen($url)-1);
?>
*
最后更新于 2017-08-31 21:15:36 并被添加「网易云」标签,已有 927 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭