网易云音乐随机歌曲
UomgAPI 官方文档
网易云音乐,随机歌曲输出
基本说明:
接口地址:https://api.uomg.com/api/rand.music
返回格式:json/mp3
请求方式:get/post
请求示例:https://api.uomg.com/api/rand.music?sort=热歌榜&format=json
请求参数说明:
名称 类型 必填 说明
sort string 选填 选择输出分类[热歌榜,新歌榜,飙升榜,抖音榜,电音榜],为空输出热歌榜
mid int 选填 网易云歌单ID
format string 选填 选择输出格式
返回参数说明:
名称 类型 说明
code string 返回的状态码
name string 歌曲名称
url string 歌曲链接
picurl string 歌曲缩略图
JSON返回示例:
{
	"code": 1,
	"data": {
		"name": "隔壁泰山",
		"url": "http:\/\/music.163.com\/song\/media\/outer\/url?id=862101001.mp3",
		"picurl": "http:\/\/p1.music.126.net\/pbT0ag5PXJwYzFJ7YklMCA==\/109951163386629013.jpg"
	}
}
服务级错误码参照
错误码 说明
10001 错误的请求KEY
10002 该KEY无请求权限
10003 KEY过期
10004 错误的OPENID
10005 应用未审核超时,请提交认证
10007 未知的请求源
10008 被禁止的IP
10009 被禁止的KEY
10011 当前IP请求超过限制
10012 请求超过次数限制
10013 测试KEY超过请求限制
10014 系统内部异常(调用充值类业务时,请务必联系客服或通过订单查询接口检测订单,避免造成损失)
10020 接口异常
10021 接口停用
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/10/4 21:10
 */
//----------------------------------
// 网易云音乐随机歌曲 调用类
//----------------------------------
class freeApi{
    private $apiUrl;

    public function __construct(){
        $this->apiUrl = 'https://api.uomg.com/api/rand.music?sort=热歌榜&format=json';
    }
    /**
     * 获取结果
     * @return array
     */
    public function getResult(){
        return $this->freeApiCurl($this->apiUrl);
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($params){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            return false;
        }
        curl_close( $ch );
        return $response;
    }
}