public List <Song1> SearchSongs(string keyword, int page, int pageSize) { var searchResult = HttpHelper.GET(string.Format("http://c.y.qq.com/soso/fcgi-bin/search_for_qq_cp?w={0}&format=json&p={1}&n={2}", keyword, page, pageSize), DEFAULT_CONFIG); var searchResultJson = JsonParser.Deserialize(searchResult).data.song; List <Song1> result = new List <Song1>(); int index = 1; foreach (var songItem in searchResultJson.list) { Song1 song = new Song1 { Id = songItem["songmid"], SongName = songItem["songname"], Album = songItem["albumname"], Rate = 128, Size = songItem["size128"], Source = Name, Index = index++, Duration = songItem["interval"] }; song.Singer = ""; foreach (var ar in songItem["singer"]) { song.Singer += ar["name"] + " "; } result.Add(song); } return(result); }
public List <Song1> SearchSongs(string keyword, int page, int pageSize) { var searchResult = HttpHelper.GET(string.Format("http://songsearch.kugou.com/song_search_v2?keyword={0}&platform=WebFilter&format=json&page={1}&pagesize={2}", keyword, page, pageSize), DEFAULT_CONFIG); List <Song1> resut = new List <Song1>(); try { var songList = JObject.Parse(searchResult)["data"]["lists"]; int index = 1; foreach (var songItem in songList) { Song1 song = new Song1 { Id = songItem["FileHash"].ToString(), SongName = songItem["SongName"].ToString(), Singer = songItem["SingerName"].ToString(), Album = songItem["AlbumName"].ToString(), Rate = 128, Index = index++, Size = Convert.ToDouble(songItem["FileSize"].ToString()), Source = Name, Duration = Convert.ToDouble(songItem["Duration"].ToString()) }; resut.Add(song); } } catch (Exception) { } return(resut); }
public string getDownloadUrl(Song1 song) { var param = new JObject(); var urlInfo = JsonParser.Deserialize(HttpHelper.GET(string.Format("http://music.163.com/api/song/enhance/player/url?id={0}&ids=%5B{0}%5D&br=3200000", song.Id), DEFAULT_CONFIG)); return(urlInfo.data[0]["url"]); }
public List <Song1> SearchSongs(string keyword, int page, int pageSize) { var searchResult = HttpHelper.GET(string.Format("http://music.163.com/api/cloudsearch/pc?s={0}&type=1&offset={1}&limit={2}", keyword, (page - 1) * pageSize, pageSize), DEFAULT_CONFIG); List <Song1> result = new List <Song1>(); try { var songList = JObject.Parse(searchResult)["result"]["songs"]; int index = 1; foreach (var songItem in songList) { if (Convert.ToInt32(songItem["privilege"]["fl"]) == 0) { continue;//无版权 } Song1 song = new Song1 { Id = songItem["id"].ToString(), SongName = songItem["name"].ToString(), Album = songItem["al"]["name"].ToString(), Index = index++, Source = Name, Duration = Convert.ToDouble(songItem["dt"].ToString()) / 1000 }; song.Singer = ""; foreach (var ar in songItem["ar"]) { song.Singer += ar["name"] + " "; } song.Rate = Convert.ToInt32(songItem["privilege"]["fl"]) / 1000; int fl = Convert.ToInt32(songItem["privilege"]["fl"]); if (songItem["h"] != null && fl > 32000) { song.Size = Convert.ToDouble(songItem["h"]["size"]); } else if (songItem["m"] != null && fl >= 192000) { song.Size = Convert.ToDouble(songItem["m"]["size"]); } else if (songItem["l"] != null) { song.Size = Convert.ToDouble(songItem["l"]["size"]); } result.Add(song); } } catch (Exception ex) { } return(result); }
public string getDownloadUrl(Song1 song) { var guid = new Random().Next(1000000000, 2000000000); var key = JsonParser.Deserialize(HttpHelper.GET(string.Format("http://base.music.qq.com/fcgi-bin/fcg_musicexpress.fcg?guid={0}&format=json&json=3", guid), DEFAULT_CONFIG)).key; foreach (var prefix in prefixes) { var musicUrl = string.Format("http://dl.stream.qqmusic.qq.com/{0}{1}.mp3?vkey={2}&guid={3}&fromtag=1", prefix, song.Id, key, guid); if (HttpHelper.GetUrlContentLength(musicUrl) > 0) { return(musicUrl); } } return(null); }
public List <Song1> SearchSongs(string keyword, int page, int pageSize) { var searchResult = HttpHelper.GET(string.Format("http://musicapi.qianqian.com/v1/restserver/ting?query={0}&method=baidu.ting.search.common&format=json&page_no={1}&page_size={2}", keyword, page, pageSize), DEFAULT_CONFIG); List <Song1> result = new List <Song1>(); try { var searchResultJson = JsonParser.Deserialize(searchResult).song_list; var songIds = new List <string>(); foreach (var item in searchResultJson) { songIds.Add(item["song_id"]); } var songIdsStr = string.Join(",", songIds.ToArray()); var songInfos = HttpHelper.GET(string.Format("http://music.taihe.com/data/music/links?songIds={0}", songIdsStr), DEFAULT_CONFIG); var songList = JObject.Parse(songInfos)["data"]["songlist"]; int index = 1; foreach (var songItem in songList) { Song1 song = new Song1 { Id = songItem["queryId"].ToString(), SongName = songItem["songName"].ToString(), Singer = songItem["artistName"].ToString(), Album = songItem["albumName"].ToString(), Rate = 128, Index = index++, Size = Convert.ToDouble(songItem["size"].ToString()), Source = Name, URL = songItem["songLink"].ToString(), Duration = Convert.ToDouble(songItem["time"].ToString()) }; result.Add(song); } } catch (Exception ex) { } return(result); }
public string getDownloadUrl(Song1 song) { var urlInfo = JsonParser.Deserialize(HttpHelper.GET(string.Format("http://m.kugou.com/app/i/getSongInfo.php?cmd=playInfo&hash={0}", song.Id), DEFAULT_CONFIG)); return(urlInfo.url); }
public string getDownloadUrl(Song1 song) { return(song.URL); }
/// <summary> /// 获取下载路径 /// </summary> /// <param name="song1"></param> /// <returns></returns> public string getDownloadUrl(Song1 song1) { return(type2Provider[song1.Source].getDownloadUrl(song1)); }