/// <summary> /// 构建查询参数 /// </summary> /// <param name="songName">歌曲名</param> /// <param name="artistName">歌手</param> private object BuildParameters(string songName, string artistName) { string _encodeArtistName = _httpClient.URL_Encoding(artistName, Encoding.UTF8); string _encodeSongName = _httpClient.URL_Encoding(songName, Encoding.UTF8); return(new NetEaseSearchRequestModel($"{_encodeArtistName}+{_encodeSongName}")); }
/// <summary> /// 获取歌曲 SID 信息 /// </summary> /// <param name="artist">艺术家</param> /// <param name="songName">歌曲名</param> private NetEaseSongModel GetMusicInfoByNetease(string artist, string songName) { string _artist = m_netUtils.URL_Encoding(artist, Encoding.UTF8); string _title = m_netUtils.URL_Encoding(songName, Encoding.UTF8); string _searchKey = $"{_artist}+{_title}"; var _result = m_netUtils.Post <NetEaseResultModel>(url: @"http://music.163.com/api/search/get/web", parameters: new NetEaseSearchRequestModel(_searchKey), referer: "http://music.163.com", mediaTypeValue: "application/x-www-form-urlencoded"); return(_result.result.songs[0]); }
/// <summary> /// 获取歌曲 SID 信息 /// </summary> /// <param name="artist">艺术家</param> /// <param name="songName">歌曲名</param> private NetEaseSongModel GetMusicInfoByNetease(string artist, string songName) { string encodingAritst = _mNetUtils.URL_Encoding(artist, Encoding.UTF8); string encodingTitle = _mNetUtils.URL_Encoding(songName, Encoding.UTF8); string searchKey = $"{encodingAritst}+{encodingTitle}"; var result = _mNetUtils.Post <NetEaseResultModel>(url: @"http://music.163.com/api/search/get/web", parameters: new NetEaseSearchRequestModel(searchKey), referer: "http://music.163.com", mediaTypeValue: "application/x-www-form-urlencoded"); var sidInfo = result?.result?.songs ?? throw new ServiceUnavailableException("专辑图像下载:请求 SID 时出错,没有 SID 数据."); if (sidInfo.Count == 0) { throw new ServiceUnavailableException("专题图像下载:请求 SID 时出错,SID 集合没有数据."); } return(result.result.songs[0]); }