wangy 发表于 2021-6-20 21:48:35

【PHP教程】酷狗音乐获取数据解析json

<?php
header("Access-Control-Allow-Origin:*");
header('Content-type: application/json');
//判断传入ID值为空提示错误!
if(!isset($_GET['id'])||empty($_GET['id'])||$_GET['id']==''||preg_match('/^[\w-]{1,31}$/',$_GET['id'])){
echo "歌曲ID为空或ID不正确!";
exit();
}
$id = $_GET['id'];
//请求地址
$url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&hash=$id&album_id=27087265&dfid=4EElpa2FNXgl0Mjybx38NRsJ&mid=23b2df7991ed66939dc451de9e6b9333&platid=4&_=1566133588877";
//设置来源以防时间戳失效
$refer = "http://www.kugou.com/";
//如果失效请自行获取酷狗音乐cookie
$header = array('Cookie:'.'appver=1.5.0.75771;kg_mid=23b2df7991ed66939dc451de9e6b9333;','CLIENT-IP:125.64.107.18','X-FORWARDED-FOR:125.64.107.18');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt($ch, CURLOPT_REFERER, $refer);
$output = curl_exec($ch);
curl_close($ch);
//打包JSON
$json=json_decode($output,true);
$name=$json['data']['song_name'];
$mp3url=$json['data']['play_url'];
$pic=$json['data']['img'];
$author=$json['data']['author_name'];
$picimg=str_replace("imge.kugou.com","p3fx.kgimg.com", $pic);
$picssl=str_replace("http://","https://", $picimg);
//生成json数据
$info = array('name' => $name,'mp3url' => $mp3url,'pic' => $picssl,'author' => $author);
echo json_encode($info,320);
?>
页: [1]
查看完整版本: 【PHP教程】酷狗音乐获取数据解析json