diff --git a/pom.xml b/pom.xml index c22c0cd..601b2ae 100644 --- a/pom.xml +++ b/pom.xml @@ -377,6 +377,23 @@ springfox-swagger-ui ${swagger.version} + + io.github.openfeign + feign-core + 10.12 + + + + org.odpi.egeria + http-helper + 3.15 + + + org.springframework + spring-web + 5.3.25 + + diff --git a/src/main/java/com/zhangmeng/tools/controller/MusicDownloadController.java b/src/main/java/com/zhangmeng/tools/controller/MusicDownloadController.java index 33ec292..c0baea8 100644 --- a/src/main/java/com/zhangmeng/tools/controller/MusicDownloadController.java +++ b/src/main/java/com/zhangmeng/tools/controller/MusicDownloadController.java @@ -1,6 +1,7 @@ package com.zhangmeng.tools.controller; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.http.Header; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; @@ -8,12 +9,18 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.common.base.Utf8; import com.zhangmeng.tools.music.SongInfo; +import com.zhangmeng.tools.music.kugou.KuGouMusic; +import com.zhangmeng.tools.music.kuwo.DownLoadInfo; +import com.zhangmeng.tools.music.kuwo.DownLoadURL; +import com.zhangmeng.tools.music.kuwo.SearchByKey; import com.zhangmeng.tools.music.qq.QQMusic; +import com.zhangmeng.tools.music.qq.QqEncrypt; import com.zhangmeng.tools.music.qq.QqQuery; import com.zhangmeng.tools.music.wangyiyun.Song; import com.zhangmeng.tools.music.wangyiyun.WangYiYunMusic; import com.zhangmeng.tools.utils.AlertUtils; import javafx.beans.property.SimpleIntegerProperty; +import javafx.beans.property.SimpleObjectProperty; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; @@ -22,21 +29,31 @@ import javafx.fxml.FXML; import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.net.MalformedURLException; import java.net.URL; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.sql.Blob; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Random; + +import static com.zhangmeng.tools.music.qq.RequestModule.apiServer; +import static com.zhangmeng.tools.music.qq.RequestModule.headerMap; /** * @author : 芊芊墨客 @@ -77,6 +94,15 @@ public class MusicDownloadController { private SimpleIntegerProperty index = new SimpleIntegerProperty(0); + public static final String ku_wo_vip_api = "http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?pn=1&rn=30&httpsStatus=1&reqId=a3d144b0-9570-11ed-9918-83c8c32b357d&key="; + + public static String download_url = "http://www.kuwo.cn/api/v1/www/music/playUrl?type=convert_url3&httpsStatus=1"; + + public static SimpleObjectProperty down_load_info = new SimpleObjectProperty<>(); + public static SimpleObjectProperty data_bean = new SimpleObjectProperty<>(); + + public static RestTemplate restTemplate; + @FXML public void initialize() { wangyiyun_music_init(); @@ -114,8 +140,8 @@ public class MusicDownloadController { switch (index.get()) { case 0 -> set(wangyiyun_music_table_view, get_wangyiyun_song_info(title)); case 1 -> set(QQ_music_table_view,get_qq_song_info(title)); -// case 2 -> set(kugou_music_table_view); -// case 3 -> set(kuwo_music_table_view); + case 2 -> set(kugou_music_table_view,get_ku_gou_info(title)); + case 3 -> set(kuwo_music_table_view,get_kuwo_song_info(title)); // case 4 -> set(migu_music_table_view); // case 5 -> set(qianqian_music_table_view); } @@ -123,9 +149,88 @@ public class MusicDownloadController { } + public ObservableList get_ku_gou_info(String title){ + + URL.createObjectURL(new Blob()); + + String api = "https://songsearch.kugou.com/song_search_v2"; + ObservableList list = FXCollections.observableArrayList(); + HashMap paramMap = new HashMap<>(); + paramMap.put("keyword", title); + paramMap.put("page", 1); + + String result3= HttpUtil.get(api, paramMap); + KuGouMusic kuGouMusic = JSON.parseObject(result3, KuGouMusic.class); + if (kuGouMusic.getData() != null){ + List lists = kuGouMusic.getData().getLists(); + int id = 1; + for (KuGouMusic.ResList resList : lists) { + SongInfo songInfo = new SongInfo(); + songInfo.setName( resList.getSongName()); + songInfo.setArtist(resList.getSingerName()); + songInfo.setAlbum(resList.getAlbumName()); + songInfo.setId(id); + id ++; + list.add(songInfo); + } + } + return list; + } + + public ObservableList get_kuwo_song_info(String title){ + ObservableList list = FXCollections.observableArrayList(); + List lists = request_api(title); + int i = 0 ; + for (SongInfo listBean : lists) { + i = i + 1 ; + listBean.setId(i); + list.add(listBean); + } + + return list; +// inputStream = response.getEntity().getContent(); +// byte[] buffer = new byte[1024]; +// int readBytes = 0; +// StringBuilder stringBuilder = new StringBuilder(); +// while((readBytes = inputStream.read(buffer)) > 0){ +// Thread.sleep(1); +// stringBuilder.append(new String(buffer, 0, readBytes)); +// } + } + + public static List request_api(String key) { + String headers_json_path = MusicDownloadController.class.getClassLoader().getResource("headers.json").toExternalForm(); + try { + List list = FileUtil.readLines(new URL(headers_json_path), StandardCharsets.UTF_8); + StringBuilder stringBuilder = new StringBuilder(); + list.forEach(stringBuilder::append); + String headers_json = stringBuilder.toString(); + Map map = JSONObject.parseObject(headers_json, Map.class); + + MultiValueMap headers = new HttpHeaders(); + for (Map.Entry entry : map.entrySet()) { + headers.add(entry.getKey(), entry.getValue()); + } + HttpEntity> httpEntity = new HttpEntity<>(headers); + + if (restTemplate == null){ + restTemplate = new RestTemplate(); + } + SearchByKey result = restTemplate.exchange(ku_wo_vip_api + key, HttpMethod.GET, httpEntity, SearchByKey.class).getBody(); + if (result != null){ + data_bean.setValue(result); + return result.getData().getList(); + } + } catch (MalformedURLException e) { + e.printStackTrace(); + } + return null; + } + + public ObservableList get_qq_song_info(String title){ ObservableList list = FXCollections.observableArrayList(); - String api = "https://u.y.qq.com/cgi-bin/musicu.fcg"; + //String api = "https://u.y.qq.com/cgi-bin/musicu.fcg"; QqQuery query = new QqQuery(); QqQuery.Comm comm = new QqQuery.Comm("19", "1859", "0"); query.setComm(comm); @@ -142,15 +247,12 @@ public class MusicDownloadController { req.setParam(param); query.setReq(req); String q = JSON.toJSONString(query); - - Map headerMap=new HashMap<>(); - headerMap.put("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66"); - headerMap.put("accept-encoding","application/json"); - headerMap.put("cache-control","max-age=0"); - - - String result2 = HttpRequest.post(api).headerMap(headerMap,false).header() - .form(q)//表单内容 + Random ran=new Random(System.currentTimeMillis()); + String result2 = HttpRequest.post(apiServer[ran.nextInt(apiServer.length)]) + .header("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66") + .header("accept-encoding","application/json") + .form("sign",getSign(q))//表单内容 + .body(q) .timeout(20000)//超时,毫秒 .execute().body(); QQMusic qqMusic = JSON.parseObject(result2, QQMusic.class); @@ -174,6 +276,10 @@ public class MusicDownloadController { return list; } + public String getSign(String params){ + return QqEncrypt.getSign(JSON.toJSONString(params)); + } + public ObservableList get_wangyiyun_song_info(String title) { ObservableList list = FXCollections.observableArrayList(); String api = "https://music.163.com/api/search/pc"; @@ -215,23 +321,23 @@ public class MusicDownloadController { } -// public static void set_songInfo(SongInfo listBean){ -// String req_id = data_bean.getValue().getReqId(); -// int mid = listBean.getRid(); -// String url = download_url + "&reqId=" + req_id + "&mid=" + mid; -// if (restTemplate == null){ -// restTemplate = new RestTemplate(); -// } -// DownLoadURL result = restTemplate.getForObject(url ,DownLoadURL.class); -// if (result != null){ -// String url1 = result.getData().getUrl(); -// DownLoadInfo loadInfo = new DownLoadInfo(); -// loadInfo.setSong_url(url1); -// loadInfo.setSong_name(listBean.getName()); -// loadInfo.setSong_author(listBean.getArtist()); -// down_load_info.set(loadInfo); -// } -// } + public static void set_songInfo(SongInfo listBean){ + String req_id = data_bean.getValue().getReqId(); + int mid = listBean.getRid(); + String url = download_url + "&reqId=" + req_id + "&mid=" + mid; + if (restTemplate == null){ + restTemplate = new RestTemplate(); + } + DownLoadURL result = restTemplate.getForObject(url ,DownLoadURL.class); + if (result != null){ + String url1 = result.getData().getUrl(); + DownLoadInfo loadInfo = new DownLoadInfo(); + loadInfo.setSong_url(url1); + loadInfo.setSong_name(listBean.getName()); + loadInfo.setSong_author(listBean.getArtist()); + down_load_info.set(loadInfo); + } + } // // public static void download_song(){ // String path = "C:/Users/Administrator/Desktop/"; diff --git a/src/main/java/com/zhangmeng/tools/music/kugou/KuGouMusic.java b/src/main/java/com/zhangmeng/tools/music/kugou/KuGouMusic.java new file mode 100644 index 0000000..1d1857b --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/music/kugou/KuGouMusic.java @@ -0,0 +1,348 @@ +package com.zhangmeng.tools.music.kugou; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author : 芊芊墨客 + * @version : 1.0 + * @date : 2023-04-22 17:33 + */ +@Data +public class KuGouMusic { + + @Data + public static class Aggregation { + } + + @Data + public static class Classmap { + public Integer attr0; + } + @Data + public static class Classmap__1 { + public Integer attr0; + } + @Data + public class ResData { + + public String correctiontip; + public Integer pagesize; + public Integer page; + public Integer correctiontype; + public Integer total; + public java.util.List lists = new ArrayList<>(); + public SecAggre secAggre; + public Aggregation aggregation; + public Integer size; + public Integer searchfull; + public Integer chinesecount; + public Integer istagresult; + public Integer allowerr; + public java.util.List secAggreV2 = new ArrayList<>(); + public Integer correctionforce; + public Integer istag; + public Integer from; + public SectagInfo sectagInfo; + public Integer subjecttype; + public Integer isshareresult; + public String correctionsubject; + + } + + @Data + public static class Grp { + public String sQFileHash; + public String publishTime; + public Integer audioid; + public Integer superDuration; + public Integer oldCpy; + public Integer publishAge; + public Integer hQBitrate; + public Integer payType; + public String tagContent; + public Integer accompany; + public String singerName; + public Integer hQPrivilege; + public String topicRemark; + public String oriOtherName; + public String source; + public Integer resDuration; + public Integer sQFileSize; + public String albumAux; + public Integer hQDuration; + public Integer failProcess; + public Integer hQPayType; + public Integer m4aSize; + public Integer sQPkgPrice; + public String uploaderContent; + public String sQExtName; + public Integer isOriginal; + public String fileHash; + public Integer mvTrac; + public String type; + public Integer bitrate; + public Integer sQPrice; + public String extName; + public Integer category; + public String superExtName; + public TransParam__1 transParam; + public String otherName; + public String songName; + public Integer aSQPrivilege; + public Integer audioCdn; + public Integer sourceID; + public Integer sQDuration; + public Integer hQFileSize; + public Integer pkgPrice; + public Integer sQPayType; + public Integer albumPrivilege; + public String albumID; + public Integer hQPrice; + public String suffix; + public Integer hQFailProcess; + public String albumName; + public List mvdata = new ArrayList<>(); + public String vvid; + public Integer hiFiQuality; + public String mixSongID; + public List singerId = new ArrayList<>(); + public Integer superBitrate; + public String hQExtName; + public String resFileHash; + public Integer matchFlag; + public Integer scid; + public String superFileHash; + public Integer qualityLevel; + public String oriSongName; + public Integer resBitrate; + public List singers = new ArrayList<>(); + public Integer superFileSize; + public String songLabel; + public Integer hasAlbum; + public Integer sQBitrate; + public Integer mvType; + public Integer mvTotal; + public String mvHash; + public String hQFileHash; + public String topicUrl; + public Integer recommendType; + public String auxiliary; + public Integer privilege; + public Integer fileSize; + public Integer duration; + public Integer ownerCount; + public String uploader; + public Integer sQFailProcess; + public String id; + public Integer topID; + public Integer hQPkgPrice; + public Integer a320Privilege; + public String fileName; + public Integer resFileSize; + public Integer sQPrivilege; + public Integer price; + public Integer publish; + + } + + @Data + public static class ResList { + + public String sQFileHash; + public String publishTime; + public Integer audioid; + public Integer superDuration; + public Integer oldCpy; + public Integer publishAge; + public Integer hQBitrate; + public Integer payType; + public String tagContent; + public Integer accompany; + public String singerName; + public Integer foldType; + public Integer hQPrivilege; + public String topicRemark; + public String oriOtherName; + public String source; + public Integer resDuration; + public Integer sQFileSize; + public String albumAux; + public Integer hQDuration; + public Integer failProcess; + public Integer hQPayType; + public Integer m4aSize; + public Integer sQPkgPrice; + public String uploaderContent; + public String sQExtName; + public Integer isOriginal; + public String fileHash; + public Integer mvTrac; + public String type; + public Integer bitrate; + public Integer sQPrice; + public String extName; + public TransParam transParam; + public Integer category; + public String superExtName; + public String otherName; + public String songName; + public Integer aSQPrivilege; + public Integer audioCdn; + public Integer sourceID; + public Integer sQDuration; + public Integer hQFileSize; + public java.util.List grp = new ArrayList<>(); + public Integer pkgPrice; + public Integer sQPayType; + public Integer albumPrivilege; + public String albumID; + public Integer hQPrice; + public String suffix; + public Integer hQFailProcess; + public String albumName; + public java.util.List mvdata = new ArrayList<>(); + public String vvid; + public Integer hiFiQuality; + public String mixSongID; + public java.util.List singerId = new ArrayList<>(); + public Integer superBitrate; + public String hQExtName; + public String resFileHash; + public Integer matchFlag; + public Integer scid; + public String superFileHash; + public Integer qualityLevel; + public String oriSongName; + public Integer resBitrate; + public java.util.List singers = new ArrayList<>(); + public Integer superFileSize; + public String songLabel; + public Integer hasAlbum; + public Integer sQBitrate; + public Integer mvType; + public Integer mvTotal; + public String mvHash; + public String hQFileHash; + public String topicUrl; + public Integer recommendType; + public String auxiliary; + public Integer privilege; + public Integer fileSize; + public Integer duration; + public Integer ownerCount; + public String uploader; + public Integer sQFailProcess; + public String id; + public Integer topID; + public Integer hQPkgPrice; + public Integer a320Privilege; + public String fileName; + public Integer resFileSize; + public Integer sQPrivilege; + public Integer price; + public Integer publish; + + } + + @Data + public static class Mvdatum { + + public String id; + public String trk; + public String hash; + public Integer typ; + + } + + @Data + public static class Mvdatum__1 { + + public String id; + public String trk; + public String hash; + public Integer typ; + + } + + @Data + public static class Qualitymap { + + public Integer attr0; + + } + + @Data + public static class Qualitymap__1 { + + public Integer attr0; + + } + + @Data + public static class SecAggre { + + } + + @Data + public static class SectagInfo { + + public Integer isSectag; + + } + + @Data + public static class Singer { + + public String name; + public Integer ipId; + public Integer id; + + } + + @Data + public static class Singer__1 { + + public String name; + public Integer ipId; + public Integer id; + + } + + @Data + public static class TransParam { + + public Integer payBlockTpl; + public Classmap classmap; + public Integer cid; + public Integer cpyAttr0; + public String hashMultitrack; + public Qualitymap qualitymap; + public Integer musicpackAdvance; + public Integer display; + public Integer displayRate; + + } + + @Data + public static class TransParam__1 { + + public Integer payBlockTpl; + public Classmap__1 classmap; + public Integer cid; + public Integer cpyAttr0; + public String hashMultitrack; + public Qualitymap__1 qualitymap; + public Integer musicpackAdvance; + public Integer display; + public Integer displayRate; + + } + + public String errorMsg; + public ResData data; + public Integer status; + public Integer errorCode; +} diff --git a/src/main/java/com/zhangmeng/tools/music/kuwo/DownLoadInfo.java b/src/main/java/com/zhangmeng/tools/music/kuwo/DownLoadInfo.java new file mode 100644 index 0000000..ab6de6b --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/music/kuwo/DownLoadInfo.java @@ -0,0 +1,45 @@ +package com.zhangmeng.tools.music.kuwo; + +/** + * @author : 芊芊墨客 + * @version : 1.0 + * @date : 2023-04-22 17:11 + */ +public class DownLoadInfo { + private String song_url; + private String song_name; + private String song_author; + + public DownLoadInfo() { + } + + public DownLoadInfo(String song_url, String song_name, String song_author) { + this.song_url = song_url; + this.song_name = song_name; + this.song_author = song_author; + } + + public String getSong_url() { + return song_url; + } + + public void setSong_url(String song_url) { + this.song_url = song_url; + } + + public String getSong_name() { + return song_name; + } + + public void setSong_name(String song_name) { + this.song_name = song_name; + } + + public String getSong_author() { + return song_author; + } + + public void setSong_author(String song_author) { + this.song_author = song_author; + } +} diff --git a/src/main/java/com/zhangmeng/tools/music/kuwo/DownLoadURL.java b/src/main/java/com/zhangmeng/tools/music/kuwo/DownLoadURL.java new file mode 100644 index 0000000..b884ee4 --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/music/kuwo/DownLoadURL.java @@ -0,0 +1,90 @@ +package com.zhangmeng.tools.music.kuwo; + +import lombok.Data; + +@Data +public class DownLoadURL { + + + /** + * code : 200 + * msg : success + * reqId : c7fe6fc8f706887a55d212874d085682 + * data : {"url":"https://other-web-ra01-sycdn.kuwo.cn/9a2886aa582be88eff47806f8c8680a0/63c5ff15/resource/n3/320/81/60/2729835609.mp3"} + * profileId : site + * curTime : 1673920277475 + * success : true + */ + + private int code; + private String msg; + private String reqId; + private URL data; + private String profileId; + private long curTime; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getReqId() { + return reqId; + } + + public void setReqId(String reqId) { + this.reqId = reqId; + } + + public String getProfileId() { + return profileId; + } + + public void setProfileId(String profileId) { + this.profileId = profileId; + } + + public long getCurTime() { + return curTime; + } + + public void setCurTime(long curTime) { + this.curTime = curTime; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class URL { + /** + * url : https://other-web-ra01-sycdn.kuwo.cn/9a2886aa582be88eff47806f8c8680a0/63c5ff15/resource/n3/320/81/60/2729835609.mp3 + */ + + private String url; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + } +} diff --git a/src/main/java/com/zhangmeng/tools/music/kuwo/SearchByKey.java b/src/main/java/com/zhangmeng/tools/music/kuwo/SearchByKey.java new file mode 100644 index 0000000..b12dac2 --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/music/kuwo/SearchByKey.java @@ -0,0 +1,40 @@ +package com.zhangmeng.tools.music.kuwo; + +import com.zhangmeng.tools.music.SongInfo; +import lombok.Data; + +import java.util.List; + +@Data +public class SearchByKey { + + + /** + * msg : success + * code : 200 + * curTime : 1673859312890 + * data : {"total":"34","list":[{"musicrid":"MUSIC_23497842","barrage":"0","ad_type":"","artist":"杭天琪","mvpayinfo":{"play":0,"vid":0,"down":0},"nationid":"0","pic":"https://img4.kuwo.cn/star/albumcover/500/30/92/3189025836.jpg","isstar":0,"rid":23497842,"duration":233,"score100":"19","ad_subtype":"0","content_type":"0","track":13,"hasLossless":false,"hasmv":0,"releaseDate":"2018-05-10","album":"空","albumid":2856939,"pay":"16711935","artistid":2796,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/30/92/3189025836.jpg","originalsongtype":0,"songTimeMinutes":"03:53","isListenFee":true,"pic120":"https://img4.kuwo.cn/star/albumcover/120/30/92/3189025836.jpg","name":"发","online":1,"payInfo":{"play":"1111","nplay":"11111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":107211,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","listen_fragment":"1","refrain_end":137211,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_208230360","barrage":"0","ad_type":"","artist":"阿峰","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","isstar":0,"rid":208230360,"duration":170,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":true,"hasmv":0,"releaseDate":"2022-01-21","album":"发","albumid":25825126,"pay":"16515324","artistid":9420424,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","originalsongtype":1,"songTimeMinutes":"02:50","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/87/64/67989869.jpg","name":"记住你的好(Demo)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_46827850","barrage":"0","ad_type":"0","artist":"发","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","isstar":0,"rid":46827850,"duration":30,"score100":"10","ad_subtype":"0","content_type":"0","track":0,"hasLossless":false,"hasmv":0,"releaseDate":"1970-01-01","album":"","albumid":0,"pay":"0","artistid":2796094,"albumpic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","originalsongtype":0,"songTimeMinutes":"00:30","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/starheads/120/31/89/3164504480.jpg","name":"我求求你嫁给我","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"11111","limitfree":0,"cannotDownload":0,"overseas_ndown":"11111","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_144680121","barrage":"0","ad_type":"","artist":"发","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","isstar":0,"rid":144680121,"duration":130,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":true,"hasmv":0,"releaseDate":"1970-01-01","album":"","albumid":0,"pay":"0","artistid":2796094,"albumpic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","originalsongtype":0,"songTimeMinutes":"02:10","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/starheads/120/31/89/3164504480.jpg","name":"处处吻 (cover: 杨千嬅)","online":1,"payInfo":{"play":"1000","nplay":"000000111","overseas_nplay":"000000111","limitfree":0,"refrain_start":0,"feeType":{"vip":"1"},"down":"1000","ndown":"000000111","download":"1000","cannotDownload":0,"overseas_ndown":"000000111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_1098892","barrage":"0","ad_type":"","artist":"周蕙","mvpayinfo":{"play":0,"vid":0,"down":0},"nationid":"0","pic":"https://img2.kuwo.cn/star/albumcover/500/92/66/450484001.jpg","isstar":0,"rid":1098892,"duration":235,"score100":"24","ad_subtype":"0","content_type":"0","track":4,"hasLossless":true,"hasmv":0,"releaseDate":"2011-10-18","album":"自己的房间","albumid":76369,"pay":"16711935","artistid":1102,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/92/66/450484001.jpg","originalsongtype":0,"songTimeMinutes":"03:55","isListenFee":true,"pic120":"https://img2.kuwo.cn/star/albumcover/120/92/66/450484001.jpg","name":"发","online":1,"payInfo":{"play":"1111","nplay":"11111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":100999,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","listen_fragment":"1","refrain_end":139999,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_207323204","barrage":"0","ad_type":"","artist":"阿峰","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","isstar":0,"rid":207323204,"duration":109,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":false,"hasmv":0,"releaseDate":"2022-01-21","album":"发","albumid":25825126,"pay":"16515324","artistid":9420424,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","originalsongtype":1,"songTimeMinutes":"01:49","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/87/64/67989869.jpg","name":"出发(Demo)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":57000,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":87000,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_238352432","barrage":"0","ad_type":"","artist":"Kukey","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/62/20/1265200159.jpg","isstar":0,"rid":238352432,"duration":134,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":false,"hasmv":0,"releaseDate":"2022-09-05","album":"发","albumid":31214541,"pay":"16515324","artistid":2342032,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/62/20/1265200159.jpg","originalsongtype":0,"songTimeMinutes":"02:14","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/62/20/1265200159.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"0","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"0","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_224439145","barrage":"0","ad_type":"","artist":"刘宇新The New","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/8/76/2582210856.jpg","isstar":0,"rid":224439145,"duration":102,"score100":"0","ad_subtype":"0","content_type":"0","track":10,"hasLossless":true,"hasmv":0,"releaseDate":"2022-06-10","album":"风暴","albumid":29219994,"pay":"16515324","artistid":5806246,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/8/76/2582210856.jpg","originalsongtype":0,"songTimeMinutes":"01:42","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/8/76/2582210856.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_207323350","barrage":"0","ad_type":"","artist":"阿峰","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","isstar":0,"rid":207323350,"duration":109,"score100":"0","ad_subtype":"0","content_type":"0","track":2,"hasLossless":false,"hasmv":0,"releaseDate":"2022-01-21","album":"发","albumid":25825126,"pay":"16515324","artistid":9420424,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","originalsongtype":1,"songTimeMinutes":"01:49","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/87/64/67989869.jpg","name":"出发(伴奏)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_202144518","barrage":"0","ad_type":"","artist":"YDGANG&vvlikevvs","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/54/57/1877080456.jpg","isstar":0,"rid":202144518,"duration":122,"score100":"14","ad_subtype":"0","content_type":"0","track":2,"hasLossless":true,"hasmv":0,"releaseDate":"2021-12-03","album":"YDGANG","albumid":24795009,"pay":"16711935","artistid":8821223,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/54/57/1877080456.jpg","originalsongtype":0,"songTimeMinutes":"02:02","isListenFee":true,"pic120":"https://img2.kuwo.cn/star/albumcover/120/54/57/1877080456.jpg","name":"发 (Ft.vvlikevvs)","online":1,"payInfo":{"play":"1111","nplay":"111111111","overseas_nplay":"0","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"0","listen_fragment":"1","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_201293509","barrage":"0","ad_type":"","artist":"蔡旺发","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/28/19/1045810422.jpg","isstar":0,"rid":201293509,"duration":267,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-27","album":"发","albumid":24653854,"pay":"0","artistid":8785595,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/28/19/1045810422.jpg","originalsongtype":0,"songTimeMinutes":"04:27","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/28/19/1045810422.jpg","name":"一次就好 (cover: 杨宗纬)","online":1,"payInfo":{"play":"1000","nplay":"000000111","overseas_nplay":"000000111","limitfree":0,"refrain_start":0,"feeType":{"vip":"1"},"down":"1000","ndown":"000000111","download":"1000","cannotDownload":0,"overseas_ndown":"000000111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_201163836","barrage":"0","ad_type":"","artist":"李浩","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/69/82/4284450797.jpg","isstar":0,"rid":201163836,"duration":83,"score100":"0","ad_subtype":"0","content_type":"0","track":3,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-25","album":"多喝点","albumid":24635206,"pay":"16515324","artistid":8780615,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/69/82/4284450797.jpg","originalsongtype":1,"songTimeMinutes":"01:23","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/69/82/4284450797.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_201163833","barrage":"0","ad_type":"","artist":"李庆","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/47/79/2737744629.jpg","isstar":0,"rid":201163833,"duration":176,"score100":"0","ad_subtype":"0","content_type":"0","track":4,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-25","album":"该方法","albumid":24635205,"pay":"16515324","artistid":7097471,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/47/79/2737744629.jpg","originalsongtype":1,"songTimeMinutes":"02:56","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/47/79/2737744629.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_201095823","barrage":"0","ad_type":"","artist":"李若飞1122","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/35/36/1923174861.jpg","isstar":0,"rid":201095823,"duration":58,"score100":"0","ad_subtype":"0","content_type":"0","track":4,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-25","album":"另外","albumid":24624597,"pay":"16515324","artistid":8777799,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/35/36/1923174861.jpg","originalsongtype":1,"songTimeMinutes":"00:58","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/35/36/1923174861.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_200920782","barrage":"0","ad_type":"","artist":"王雄兵","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/85/89/3660465794.jpg","isstar":0,"rid":200920782,"duration":119,"score100":"0","ad_subtype":"0","content_type":"0","track":6,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-24","album":"无所","albumid":24595290,"pay":"16515324","artistid":8769667,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/85/89/3660465794.jpg","originalsongtype":1,"songTimeMinutes":"01:59","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/85/89/3660465794.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_200650998","barrage":"0","ad_type":"1,5","artist":"声莲工作室","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/23/23/3671015563.jpg","isstar":1,"rid":200650998,"duration":41,"score100":"0","ad_subtype":"0","content_type":"0","track":214,"hasLossless":false,"hasmv":0,"releaseDate":"2021-08-30","album":"散文诗歌荐读","albumid":22732085,"pay":"0","artistid":8211295,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/23/23/3671015563.jpg","originalsongtype":0,"songTimeMinutes":"00:41","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/23/23/3671015563.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_198570116","barrage":"0","ad_type":"","artist":"杨晓磊","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/69/53/3865206379.jpg","isstar":0,"rid":198570116,"duration":119,"score100":"0","ad_subtype":"0","content_type":"0","track":5,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-07","album":"供方","albumid":24214235,"pay":"16515324","artistid":8668948,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/69/53/3865206379.jpg","originalsongtype":1,"songTimeMinutes":"01:59","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/69/53/3865206379.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_198330630","barrage":"0","ad_type":"","artist":"李智智","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/78/65/2977047181.jpg","isstar":0,"rid":198330630,"duration":111,"score100":"0","ad_subtype":"0","content_type":"0","track":5,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-05","album":"好的","albumid":24181915,"pay":"16515324","artistid":8662299,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/78/65/2977047181.jpg","originalsongtype":1,"songTimeMinutes":"01:51","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/78/65/2977047181.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_197839221","barrage":"0","ad_type":"1,5","artist":"笑别","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/79/15/1882646656.jpg","isstar":1,"rid":197839221,"duration":215,"score100":"0","ad_subtype":"0","content_type":"0","track":12,"hasLossless":false,"hasmv":0,"releaseDate":"2021-10-13","album":"华语交响曲","albumid":23679270,"pay":"0","artistid":8525159,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/79/15/1882646656.jpg","originalsongtype":0,"songTimeMinutes":"03:35","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/79/15/1882646656.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_191863979","barrage":"0","ad_type":"1,5","artist":"大树徐生","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/72/20/3591837770.jpg","isstar":1,"rid":191863979,"duration":3,"score100":"0","ad_subtype":"0","content_type":"0","track":26,"hasLossless":false,"hasmv":0,"releaseDate":"2021-09-09","album":"大树之声","albumid":22963231,"pay":"0","artistid":8232642,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/72/20/3591837770.jpg","originalsongtype":0,"songTimeMinutes":"00:03","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/72/20/3591837770.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_190785887","barrage":"0","ad_type":"1,5","artist":"小食客_婉约之声","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/4/7/3447198696.jpg","isstar":1,"rid":190785887,"duration":139,"score100":"0","ad_subtype":"0","content_type":"0","track":25,"hasLossless":false,"hasmv":0,"releaseDate":"2021-08-23","album":"食客识字","albumid":22590158,"pay":"0","artistid":8139247,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/4/7/3447198696.jpg","originalsongtype":0,"songTimeMinutes":"02:19","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/4/7/3447198696.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_187731641","barrage":"0","ad_type":"","artist":"邵楷","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/74/71/3608114809.jpg","isstar":0,"rid":187731641,"duration":54,"score100":"0","ad_subtype":"0","content_type":"0","track":7,"hasLossless":false,"hasmv":0,"releaseDate":"2021-08-09","album":"反反复复","albumid":22287002,"pay":"16515324","artistid":8097023,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/74/71/3608114809.jpg","originalsongtype":1,"songTimeMinutes":"00:54","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/74/71/3608114809.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_186131969","barrage":"0","ad_type":"","artist":"蔡晓文","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/23/71/2537505831.jpg","isstar":0,"rid":186131969,"duration":122,"score100":"0","ad_subtype":"0","content_type":"0","track":9,"hasLossless":false,"hasmv":0,"releaseDate":"2021-07-23","album":"伤感","albumid":21958181,"pay":"16515324","artistid":7998242,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/23/71/2537505831.jpg","originalsongtype":1,"songTimeMinutes":"02:02","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/23/71/2537505831.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_181643491","barrage":"0","ad_type":"0","artist":"阿木丶","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img1.kuwo.cn/star/albumcover/500/13/79/2781625674.jpg","isstar":1,"rid":181643491,"duration":285,"score100":"10","ad_subtype":"0","content_type":"0","track":2,"hasLossless":false,"hasmv":0,"releaseDate":"2017-02-12","album":"发","albumid":21018924,"pay":"0","artistid":7688937,"albumpic":"https://img1.kuwo.cn/star/albumcover/500/13/79/2781625674.jpg","originalsongtype":0,"songTimeMinutes":"04:45","isListenFee":false,"pic120":"https://img1.kuwo.cn/star/albumcover/120/13/79/2781625674.jpg","name":"林宥嘉 - 长大的童话","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_177619466","barrage":"0","ad_type":"","artist":"雪梅","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img1.kuwo.cn/star/albumcover/500/41/46/1599948388.jpg","isstar":0,"rid":177619466,"duration":110,"score100":"0","ad_subtype":"0","content_type":"0","track":16,"hasLossless":true,"hasmv":0,"releaseDate":"2021-04-30","album":"请不要为我难过","albumid":20145668,"pay":"16515324","artistid":9408042,"albumpic":"https://img1.kuwo.cn/star/albumcover/500/41/46/1599948388.jpg","originalsongtype":1,"songTimeMinutes":"01:50","isListenFee":false,"pic120":"https://img1.kuwo.cn/star/albumcover/120/41/46/1599948388.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_177352432","barrage":"0","ad_type":"","artist":"别无所求","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/21/38/2245555355.jpg","isstar":0,"rid":177352432,"duration":110,"score100":"0","ad_subtype":"0","content_type":"0","track":39,"hasLossless":true,"hasmv":0,"releaseDate":"2021-04-25","album":"青春","albumid":20035321,"pay":"16515324","artistid":7241952,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/21/38/2245555355.jpg","originalsongtype":1,"songTimeMinutes":"01:50","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/21/38/2245555355.jpg","name":"发(其他)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_175056608","barrage":"0","ad_type":"","artist":"偷你的心","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/13/43/1978658108.jpg","isstar":0,"rid":175056608,"duration":138,"score100":"0","ad_subtype":"0","content_type":"0","track":4,"hasLossless":false,"hasmv":0,"releaseDate":"2021-04-27","album":"告诉","albumid":20053399,"pay":"16515324","artistid":6956094,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/13/43/1978658108.jpg","originalsongtype":1,"songTimeMinutes":"02:18","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/13/43/1978658108.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_174293378","barrage":"0","ad_type":"","artist":"明历MUSIC&上官静","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/14/38/630459502.jpg","isstar":0,"rid":174293378,"duration":146,"score100":"0","ad_subtype":"0","content_type":"0","track":11,"hasLossless":false,"hasmv":0,"releaseDate":"2021-04-12","album":"飞鸟与鱼不同路","albumid":19705101,"pay":"0","artistid":6619066,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/14/38/630459502.jpg","originalsongtype":0,"songTimeMinutes":"02:26","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/14/38/630459502.jpg","name":"发","online":1,"payInfo":{"play":"1000","nplay":"000000111","overseas_nplay":"0","limitfree":0,"refrain_start":0,"feeType":{"vip":"1"},"down":"1000","ndown":"000000111","download":"1000","cannotDownload":0,"overseas_ndown":"0","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_169610584","barrage":"0","ad_type":"","artist":"XIAOLI MA","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/84/95/1447659877.jpg","isstar":0,"rid":169610584,"duration":213,"score100":"10","ad_subtype":"0","content_type":"0","track":54,"hasLossless":false,"hasmv":0,"releaseDate":"2020-11-26","album":"FUAI","albumid":16750986,"pay":"16515324","artistid":6262309,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/84/95/1447659877.jpg","originalsongtype":1,"songTimeMinutes":"03:33","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/84/95/1447659877.jpg","name":"发(其他)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_168117432","barrage":"0","ad_type":"","artist":"爱仔的歌曲","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/45/6/2404958100.jpg","isstar":0,"rid":168117432,"duration":247,"score100":"0","ad_subtype":"0","content_type":"0","track":12,"hasLossless":false,"hasmv":0,"releaseDate":"2021-01-05","album":"无奇","albumid":17483695,"pay":"16515324","artistid":6291374,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/45/6/2404958100.jpg","originalsongtype":1,"songTimeMinutes":"04:07","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/45/6/2404958100.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"}]} + * profileId : site + * tId : + * reqId : 38d950e841fc925bf31cfae7fc6d877c + */ + + private String msg; + private int code; + private long curTime; + private Result data; + private String profileId; + private String tId; + private String reqId; + + @Data + public static class Result { + /** + * total : 34 + * list : [{"musicrid":"MUSIC_23497842","barrage":"0","ad_type":"","artist":"杭天琪","mvpayinfo":{"play":0,"vid":0,"down":0},"nationid":"0","pic":"https://img4.kuwo.cn/star/albumcover/500/30/92/3189025836.jpg","isstar":0,"rid":23497842,"duration":233,"score100":"19","ad_subtype":"0","content_type":"0","track":13,"hasLossless":false,"hasmv":0,"releaseDate":"2018-05-10","album":"空","albumid":2856939,"pay":"16711935","artistid":2796,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/30/92/3189025836.jpg","originalsongtype":0,"songTimeMinutes":"03:53","isListenFee":true,"pic120":"https://img4.kuwo.cn/star/albumcover/120/30/92/3189025836.jpg","name":"发","online":1,"payInfo":{"play":"1111","nplay":"11111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":107211,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","listen_fragment":"1","refrain_end":137211,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_208230360","barrage":"0","ad_type":"","artist":"阿峰","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","isstar":0,"rid":208230360,"duration":170,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":true,"hasmv":0,"releaseDate":"2022-01-21","album":"发","albumid":25825126,"pay":"16515324","artistid":9420424,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","originalsongtype":1,"songTimeMinutes":"02:50","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/87/64/67989869.jpg","name":"记住你的好(Demo)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_46827850","barrage":"0","ad_type":"0","artist":"发","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","isstar":0,"rid":46827850,"duration":30,"score100":"10","ad_subtype":"0","content_type":"0","track":0,"hasLossless":false,"hasmv":0,"releaseDate":"1970-01-01","album":"","albumid":0,"pay":"0","artistid":2796094,"albumpic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","originalsongtype":0,"songTimeMinutes":"00:30","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/starheads/120/31/89/3164504480.jpg","name":"我求求你嫁给我","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"11111","limitfree":0,"cannotDownload":0,"overseas_ndown":"11111","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_144680121","barrage":"0","ad_type":"","artist":"发","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","isstar":0,"rid":144680121,"duration":130,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":true,"hasmv":0,"releaseDate":"1970-01-01","album":"","albumid":0,"pay":"0","artistid":2796094,"albumpic":"https://img3.kuwo.cn/star/starheads/500/31/89/3164504480.jpg","originalsongtype":0,"songTimeMinutes":"02:10","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/starheads/120/31/89/3164504480.jpg","name":"处处吻 (cover: 杨千嬅)","online":1,"payInfo":{"play":"1000","nplay":"000000111","overseas_nplay":"000000111","limitfree":0,"refrain_start":0,"feeType":{"vip":"1"},"down":"1000","ndown":"000000111","download":"1000","cannotDownload":0,"overseas_ndown":"000000111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_1098892","barrage":"0","ad_type":"","artist":"周蕙","mvpayinfo":{"play":0,"vid":0,"down":0},"nationid":"0","pic":"https://img2.kuwo.cn/star/albumcover/500/92/66/450484001.jpg","isstar":0,"rid":1098892,"duration":235,"score100":"24","ad_subtype":"0","content_type":"0","track":4,"hasLossless":true,"hasmv":0,"releaseDate":"2011-10-18","album":"自己的房间","albumid":76369,"pay":"16711935","artistid":1102,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/92/66/450484001.jpg","originalsongtype":0,"songTimeMinutes":"03:55","isListenFee":true,"pic120":"https://img2.kuwo.cn/star/albumcover/120/92/66/450484001.jpg","name":"发","online":1,"payInfo":{"play":"1111","nplay":"11111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":100999,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","listen_fragment":"1","refrain_end":139999,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_207323204","barrage":"0","ad_type":"","artist":"阿峰","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","isstar":0,"rid":207323204,"duration":109,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":false,"hasmv":0,"releaseDate":"2022-01-21","album":"发","albumid":25825126,"pay":"16515324","artistid":9420424,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","originalsongtype":1,"songTimeMinutes":"01:49","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/87/64/67989869.jpg","name":"出发(Demo)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":57000,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":87000,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_238352432","barrage":"0","ad_type":"","artist":"Kukey","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/62/20/1265200159.jpg","isstar":0,"rid":238352432,"duration":134,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":false,"hasmv":0,"releaseDate":"2022-09-05","album":"发","albumid":31214541,"pay":"16515324","artistid":2342032,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/62/20/1265200159.jpg","originalsongtype":0,"songTimeMinutes":"02:14","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/62/20/1265200159.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"0","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"0","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_224439145","barrage":"0","ad_type":"","artist":"刘宇新The New","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/8/76/2582210856.jpg","isstar":0,"rid":224439145,"duration":102,"score100":"0","ad_subtype":"0","content_type":"0","track":10,"hasLossless":true,"hasmv":0,"releaseDate":"2022-06-10","album":"风暴","albumid":29219994,"pay":"16515324","artistid":5806246,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/8/76/2582210856.jpg","originalsongtype":0,"songTimeMinutes":"01:42","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/8/76/2582210856.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_207323350","barrage":"0","ad_type":"","artist":"阿峰","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","isstar":0,"rid":207323350,"duration":109,"score100":"0","ad_subtype":"0","content_type":"0","track":2,"hasLossless":false,"hasmv":0,"releaseDate":"2022-01-21","album":"发","albumid":25825126,"pay":"16515324","artistid":9420424,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/87/64/67989869.jpg","originalsongtype":1,"songTimeMinutes":"01:49","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/87/64/67989869.jpg","name":"出发(伴奏)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_202144518","barrage":"0","ad_type":"","artist":"YDGANG&vvlikevvs","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/54/57/1877080456.jpg","isstar":0,"rid":202144518,"duration":122,"score100":"14","ad_subtype":"0","content_type":"0","track":2,"hasLossless":true,"hasmv":0,"releaseDate":"2021-12-03","album":"YDGANG","albumid":24795009,"pay":"16711935","artistid":8821223,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/54/57/1877080456.jpg","originalsongtype":0,"songTimeMinutes":"02:02","isListenFee":true,"pic120":"https://img2.kuwo.cn/star/albumcover/120/54/57/1877080456.jpg","name":"发 (Ft.vvlikevvs)","online":1,"payInfo":{"play":"1111","nplay":"111111111","overseas_nplay":"0","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"0","listen_fragment":"1","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_201293509","barrage":"0","ad_type":"","artist":"蔡旺发","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/28/19/1045810422.jpg","isstar":0,"rid":201293509,"duration":267,"score100":"0","ad_subtype":"0","content_type":"0","track":1,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-27","album":"发","albumid":24653854,"pay":"0","artistid":8785595,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/28/19/1045810422.jpg","originalsongtype":0,"songTimeMinutes":"04:27","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/28/19/1045810422.jpg","name":"一次就好 (cover: 杨宗纬)","online":1,"payInfo":{"play":"1000","nplay":"000000111","overseas_nplay":"000000111","limitfree":0,"refrain_start":0,"feeType":{"vip":"1"},"down":"1000","ndown":"000000111","download":"1000","cannotDownload":0,"overseas_ndown":"000000111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_201163836","barrage":"0","ad_type":"","artist":"李浩","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/69/82/4284450797.jpg","isstar":0,"rid":201163836,"duration":83,"score100":"0","ad_subtype":"0","content_type":"0","track":3,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-25","album":"多喝点","albumid":24635206,"pay":"16515324","artistid":8780615,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/69/82/4284450797.jpg","originalsongtype":1,"songTimeMinutes":"01:23","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/69/82/4284450797.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_201163833","barrage":"0","ad_type":"","artist":"李庆","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/47/79/2737744629.jpg","isstar":0,"rid":201163833,"duration":176,"score100":"0","ad_subtype":"0","content_type":"0","track":4,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-25","album":"该方法","albumid":24635205,"pay":"16515324","artistid":7097471,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/47/79/2737744629.jpg","originalsongtype":1,"songTimeMinutes":"02:56","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/47/79/2737744629.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"001111111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"111111111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_201095823","barrage":"0","ad_type":"","artist":"李若飞1122","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/35/36/1923174861.jpg","isstar":0,"rid":201095823,"duration":58,"score100":"0","ad_subtype":"0","content_type":"0","track":4,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-25","album":"另外","albumid":24624597,"pay":"16515324","artistid":8777799,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/35/36/1923174861.jpg","originalsongtype":1,"songTimeMinutes":"00:58","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/35/36/1923174861.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_200920782","barrage":"0","ad_type":"","artist":"王雄兵","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/85/89/3660465794.jpg","isstar":0,"rid":200920782,"duration":119,"score100":"0","ad_subtype":"0","content_type":"0","track":6,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-24","album":"无所","albumid":24595290,"pay":"16515324","artistid":8769667,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/85/89/3660465794.jpg","originalsongtype":1,"songTimeMinutes":"01:59","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/85/89/3660465794.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_200650998","barrage":"0","ad_type":"1,5","artist":"声莲工作室","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/23/23/3671015563.jpg","isstar":1,"rid":200650998,"duration":41,"score100":"0","ad_subtype":"0","content_type":"0","track":214,"hasLossless":false,"hasmv":0,"releaseDate":"2021-08-30","album":"散文诗歌荐读","albumid":22732085,"pay":"0","artistid":8211295,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/23/23/3671015563.jpg","originalsongtype":0,"songTimeMinutes":"00:41","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/23/23/3671015563.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_198570116","barrage":"0","ad_type":"","artist":"杨晓磊","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/69/53/3865206379.jpg","isstar":0,"rid":198570116,"duration":119,"score100":"0","ad_subtype":"0","content_type":"0","track":5,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-07","album":"供方","albumid":24214235,"pay":"16515324","artistid":8668948,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/69/53/3865206379.jpg","originalsongtype":1,"songTimeMinutes":"01:59","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/69/53/3865206379.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_198330630","barrage":"0","ad_type":"","artist":"李智智","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/78/65/2977047181.jpg","isstar":0,"rid":198330630,"duration":111,"score100":"0","ad_subtype":"0","content_type":"0","track":5,"hasLossless":false,"hasmv":0,"releaseDate":"2021-11-05","album":"好的","albumid":24181915,"pay":"16515324","artistid":8662299,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/78/65/2977047181.jpg","originalsongtype":1,"songTimeMinutes":"01:51","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/78/65/2977047181.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_197839221","barrage":"0","ad_type":"1,5","artist":"笑别","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/79/15/1882646656.jpg","isstar":1,"rid":197839221,"duration":215,"score100":"0","ad_subtype":"0","content_type":"0","track":12,"hasLossless":false,"hasmv":0,"releaseDate":"2021-10-13","album":"华语交响曲","albumid":23679270,"pay":"0","artistid":8525159,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/79/15/1882646656.jpg","originalsongtype":0,"songTimeMinutes":"03:35","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/79/15/1882646656.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_191863979","barrage":"0","ad_type":"1,5","artist":"大树徐生","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/72/20/3591837770.jpg","isstar":1,"rid":191863979,"duration":3,"score100":"0","ad_subtype":"0","content_type":"0","track":26,"hasLossless":false,"hasmv":0,"releaseDate":"2021-09-09","album":"大树之声","albumid":22963231,"pay":"0","artistid":8232642,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/72/20/3591837770.jpg","originalsongtype":0,"songTimeMinutes":"00:03","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/72/20/3591837770.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_190785887","barrage":"0","ad_type":"1,5","artist":"小食客_婉约之声","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/4/7/3447198696.jpg","isstar":1,"rid":190785887,"duration":139,"score100":"0","ad_subtype":"0","content_type":"0","track":25,"hasLossless":false,"hasmv":0,"releaseDate":"2021-08-23","album":"食客识字","albumid":22590158,"pay":"0","artistid":8139247,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/4/7/3447198696.jpg","originalsongtype":0,"songTimeMinutes":"02:19","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/4/7/3447198696.jpg","name":"发","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_187731641","barrage":"0","ad_type":"","artist":"邵楷","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/74/71/3608114809.jpg","isstar":0,"rid":187731641,"duration":54,"score100":"0","ad_subtype":"0","content_type":"0","track":7,"hasLossless":false,"hasmv":0,"releaseDate":"2021-08-09","album":"反反复复","albumid":22287002,"pay":"16515324","artistid":8097023,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/74/71/3608114809.jpg","originalsongtype":1,"songTimeMinutes":"00:54","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/74/71/3608114809.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_186131969","barrage":"0","ad_type":"","artist":"蔡晓文","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/23/71/2537505831.jpg","isstar":0,"rid":186131969,"duration":122,"score100":"0","ad_subtype":"0","content_type":"0","track":9,"hasLossless":false,"hasmv":0,"releaseDate":"2021-07-23","album":"伤感","albumid":21958181,"pay":"16515324","artistid":7998242,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/23/71/2537505831.jpg","originalsongtype":1,"songTimeMinutes":"02:02","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/23/71/2537505831.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_181643491","barrage":"0","ad_type":"0","artist":"阿木丶","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img1.kuwo.cn/star/albumcover/500/13/79/2781625674.jpg","isstar":1,"rid":181643491,"duration":285,"score100":"10","ad_subtype":"0","content_type":"0","track":2,"hasLossless":false,"hasmv":0,"releaseDate":"2017-02-12","album":"发","albumid":21018924,"pay":"0","artistid":7688937,"albumpic":"https://img1.kuwo.cn/star/albumcover/500/13/79/2781625674.jpg","originalsongtype":0,"songTimeMinutes":"04:45","isListenFee":false,"pic120":"https://img1.kuwo.cn/star/albumcover/120/13/79/2781625674.jpg","name":"林宥嘉 - 长大的童话","online":1,"payInfo":{"play":"0000","nplay":"00000","download":"0000","overseas_nplay":"0","limitfree":0,"cannotDownload":0,"overseas_ndown":"0","refrain_start":0,"refrain_end":0,"cannotOnlinePlay":0,"down":"0000","ndown":"00000"},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_177619466","barrage":"0","ad_type":"","artist":"雪梅","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img1.kuwo.cn/star/albumcover/500/41/46/1599948388.jpg","isstar":0,"rid":177619466,"duration":110,"score100":"0","ad_subtype":"0","content_type":"0","track":16,"hasLossless":true,"hasmv":0,"releaseDate":"2021-04-30","album":"请不要为我难过","albumid":20145668,"pay":"16515324","artistid":9408042,"albumpic":"https://img1.kuwo.cn/star/albumcover/500/41/46/1599948388.jpg","originalsongtype":1,"songTimeMinutes":"01:50","isListenFee":false,"pic120":"https://img1.kuwo.cn/star/albumcover/120/41/46/1599948388.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_177352432","barrage":"0","ad_type":"","artist":"别无所求","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/21/38/2245555355.jpg","isstar":0,"rid":177352432,"duration":110,"score100":"0","ad_subtype":"0","content_type":"0","track":39,"hasLossless":true,"hasmv":0,"releaseDate":"2021-04-25","album":"青春","albumid":20035321,"pay":"16515324","artistid":7241952,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/21/38/2245555355.jpg","originalsongtype":1,"songTimeMinutes":"01:50","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/21/38/2245555355.jpg","name":"发(其他)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_175056608","barrage":"0","ad_type":"","artist":"偷你的心","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/13/43/1978658108.jpg","isstar":0,"rid":175056608,"duration":138,"score100":"0","ad_subtype":"0","content_type":"0","track":4,"hasLossless":false,"hasmv":0,"releaseDate":"2021-04-27","album":"告诉","albumid":20053399,"pay":"16515324","artistid":6956094,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/13/43/1978658108.jpg","originalsongtype":1,"songTimeMinutes":"02:18","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/13/43/1978658108.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_174293378","barrage":"0","ad_type":"","artist":"明历MUSIC&上官静","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img2.kuwo.cn/star/albumcover/500/14/38/630459502.jpg","isstar":0,"rid":174293378,"duration":146,"score100":"0","ad_subtype":"0","content_type":"0","track":11,"hasLossless":false,"hasmv":0,"releaseDate":"2021-04-12","album":"飞鸟与鱼不同路","albumid":19705101,"pay":"0","artistid":6619066,"albumpic":"https://img2.kuwo.cn/star/albumcover/500/14/38/630459502.jpg","originalsongtype":0,"songTimeMinutes":"02:26","isListenFee":false,"pic120":"https://img2.kuwo.cn/star/albumcover/120/14/38/630459502.jpg","name":"发","online":1,"payInfo":{"play":"1000","nplay":"000000111","overseas_nplay":"0","limitfree":0,"refrain_start":0,"feeType":{"vip":"1"},"down":"1000","ndown":"000000111","download":"1000","cannotDownload":0,"overseas_ndown":"0","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"0"},{"musicrid":"MUSIC_169610584","barrage":"0","ad_type":"","artist":"XIAOLI MA","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img3.kuwo.cn/star/albumcover/500/84/95/1447659877.jpg","isstar":0,"rid":169610584,"duration":213,"score100":"10","ad_subtype":"0","content_type":"0","track":54,"hasLossless":false,"hasmv":0,"releaseDate":"2020-11-26","album":"FUAI","albumid":16750986,"pay":"16515324","artistid":6262309,"albumpic":"https://img3.kuwo.cn/star/albumcover/500/84/95/1447659877.jpg","originalsongtype":1,"songTimeMinutes":"03:33","isListenFee":false,"pic120":"https://img3.kuwo.cn/star/albumcover/120/84/95/1447659877.jpg","name":"发(其他)","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"},{"musicrid":"MUSIC_168117432","barrage":"0","ad_type":"","artist":"爱仔的歌曲","mvpayinfo":{"play":0,"vid":0,"down":0},"pic":"https://img4.kuwo.cn/star/albumcover/500/45/6/2404958100.jpg","isstar":0,"rid":168117432,"duration":247,"score100":"0","ad_subtype":"0","content_type":"0","track":12,"hasLossless":false,"hasmv":0,"releaseDate":"2021-01-05","album":"无奇","albumid":17483695,"pay":"16515324","artistid":6291374,"albumpic":"https://img4.kuwo.cn/star/albumcover/500/45/6/2404958100.jpg","originalsongtype":1,"songTimeMinutes":"04:07","isListenFee":false,"pic120":"https://img4.kuwo.cn/star/albumcover/120/45/6/2404958100.jpg","name":"发","online":1,"payInfo":{"play":"1100","nplay":"00111","overseas_nplay":"11111","local_encrypt":"1","limitfree":0,"refrain_start":0,"feeType":{"song":"1","vip":"1"},"down":"1111","ndown":"11111","download":"1111","cannotDownload":0,"overseas_ndown":"11111","refrain_end":0,"cannotOnlinePlay":0},"tme_musician_adtype":"1"}] + */ + + private String total; + private List list; + } +} diff --git a/src/main/java/com/zhangmeng/tools/music/qq/QqEncrypt.java b/src/main/java/com/zhangmeng/tools/music/qq/QqEncrypt.java new file mode 100644 index 0000000..8dad2b2 --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/music/qq/QqEncrypt.java @@ -0,0 +1,60 @@ +package com.zhangmeng.tools.music.qq; + +import java.math.BigInteger; +import java.security.MessageDigest; +import java.util.Random; + +/** + * @author : 芊芊墨客 + * @version : 1.0 + * @date : 2023-04-22 09:44 + */ +public class QqEncrypt { + private static final String encNonce="CJBPACrRuNy7"; + private static final String signPrxfix="zza"; + private static final char[] dir="0234567890abcdefghijklmnopqrstuvwxyz".toCharArray(); + /** + * + *@param encParams 需要加密的参数,这是一段请求体数据,为json字符串格式,例如下面的格式,可以抓包获取 + * {"comm":{"ct":24,"cv":0},"vip":{"module":"userInfo…baseinfo_v2","param":{"vec_uin":["3011429848"]}}} + * + * @return 加密的方式为固定字串 zza加上一个10-16位的随机字符串再加上 固定字串 CJBPACrRuNy7加上请求数据拼接的 MD5值 + */ + public static String getSign(String encParams){ + return signPrxfix+uuidGenerate()+ Md5Encrypt.convertToMd5(encNonce+encParams); + } + + private static String uuidGenerate(){ + int minLen=10; + int maxLen=16; + Random ran=new Random(System.currentTimeMillis()); + int ranLen=ran.nextInt(maxLen-minLen)+minLen; + StringBuilder sb=new StringBuilder(ranLen); + for (int i=0;i headerMap=new HashMap<>(); + + static { + headerMap.put("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66"); + headerMap.put("accept-encoding","application/json"); + headerMap.put("cache-control","max-age=0"); + } + +// /** +// * 请求示例:{"area":-100,"sex":-100,"genre":-100,"index":15,"sin":0,"cur_page":1} +// * @param area 地区 -100 不限 +// * @param genre 流派 全部:-100,流行:1 ,摇滚:2,民谣:3,电子:4,爵士:5,嘻哈:6 ..... +// * @param index 索引 热门:-100 范围 0-26 对应歌手名称拼音A-Z开头 +// * @param sex 性别 不限:-100 男:0 女:1 组合:2 +// * @param sin 偏移(第sin位) +// * @param currPage 当前页,第n页,默认每页最多80人 +// * @return +// */ +// public static String getSingerList(int area,int genre,int index,int sex,int sin,int currPage){ +// RequestTemplate template=new RequestTemplate("Music.SingerListServer","get_singer_list","{\"area\":"+area+",\"sex\":"+sex+",\"genre\":"+genre+",\"index\":"+index+",\"sin\":"+sin+",\"cur_page\":"+currPage+"}"); +// RequestTemplateBuilder templateBuilder=new RequestTemplateBuilder(); +// templateBuilder.add("singerList",template); +// String sign= QqEncrypt.getSign(templateBuilder.toString()); +// Random ran=new Random(System.currentTimeMillis()); +// return HttpRequestHelper.downloadWebSiteUsePost(apiServer[ran.nextInt(apiServer.length)]+"sign="+sign,templateBuilder.toString(),headerMap); +// } +// +// public static String getHotSingerList(){ +// return getSingerList(-100,-100,-100,-100,0,1); +// } +// +// /** +// * +// * @param songId 统一规范,指的是songmid +// * @return +// */ +// public static String getSongDetail(String songId){ +// //{"songinfo":{"module":"music.pf_song_detail_svr","method":"get_song_detail","param":{"song_mid":"112344"}}} +// RequestTemplate template=new RequestTemplate("music.pf_song_detail_svr","get_song_detail","{\"song_mid\":\""+songId+"\"}"); +// RequestTemplateBuilder templateBuilder=new RequestTemplateBuilder(); +// templateBuilder.add("songdetail",template); +// String sign= QqEncrypt.getSign(templateBuilder.toString()); +// Random ran=new Random(System.currentTimeMillis()); +// return HttpRequestHelper.downloadWebSiteUsePost(+"sign="+sign,templateBuilder.toString(),headerMap); +// } + + public static void main(String[] args) { + Random ran=new Random(System.currentTimeMillis()); + String url = apiServer[ran.nextInt(apiServer.length)]; + + QqQuery query = new QqQuery(); + QqQuery.Comm comm = new QqQuery.Comm("19", "1859", "0"); + query.setComm(comm); + + QqQuery.Req req = new QqQuery.Req(); + req.setMethod("DoSearchForQQMusicDesktop"); + req.setModule("music.search.SearchCgiService"); + QqQuery.Req.Param param = new QqQuery.Req.Param(); + param.setGrp(1); + param.setNumPerPage(50); + param.setPageNum(1); + param.setQuery("魏佳艺"); + param.setSearchType(0); + req.setParam(param); + query.setReq(req); + String q = JSON.toJSONString(query); + + String sign= QqEncrypt.getSign(q); + System.out.println(sign); + System.out.println(q); + } +} + + + diff --git a/src/main/java/com/zhangmeng/tools/music/qq/RequestTemplate.java b/src/main/java/com/zhangmeng/tools/music/qq/RequestTemplate.java new file mode 100644 index 0000000..0c8b6d0 --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/music/qq/RequestTemplate.java @@ -0,0 +1,98 @@ +package com.zhangmeng.tools.music.qq; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author : 芊芊墨客 + * @version : 1.0 + * @date : 2023-04-22 15:17 + */ +public class RequestTemplate{ + public String module=""; + public String method=""; + public Object param=new Object(); + + public RequestTemplate() { + } + + public RequestTemplate(String module, String method, Object param) { + this.module = module; + this.method = method; + this.param = param; + } + + public String getModule() { + return module; + } + + public void setModule(String module) { + this.module = module; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public Object getParam() { + return param; + } + + public void setParam(Object param) { + this.param = param; + } + + @Override + public String toString() { + return "{" + + "\"module\":\"" + module + "\"" + + ",\"method\":\"" + method + "\"" + + ",\"param\":" + param.toString() + + "}"; + } +} + +/** + * 构造请求结构,所有请求都可以是这样的 + * + * { + * "comm": { + * "ct": 24, + * "cv": 0 + * }, + * "singerList": { + * "module": "Music.SingerListServer", + * "method": "get_singer_list", + * "param": { + * "area": -100, + * "sex": -100, + * "genre": -100, + * "index": -100, + * "sin": 0, + * "cur_page": 1 + * } + * } + * } + */ +class RequestTemplateBuilder { + private Map requestTemplateMap=new HashMap<>(); + public RequestTemplateBuilder add(String name, Object req){ + requestTemplateMap.put(name,req); + return this; + } + @Override + public String toString() { + StringBuilder sb=new StringBuilder(); + for (String key: requestTemplateMap.keySet()){ + sb.append("\"").append(key).append("\":").append(requestTemplateMap.get(key).toString()).append(","); + } + sb.substring(0,sb.length()-1); + return "{"+sb.substring(0,sb.length()-1)+"}"; + } +} + + diff --git a/src/main/resources/headers.json b/src/main/resources/headers.json new file mode 100644 index 0000000..5866293 --- /dev/null +++ b/src/main/resources/headers.json @@ -0,0 +1,12 @@ +{ + "accept": "application/json, text/plain, */*", + "accept - encoding": "gzip, deflate", + "accept - language": "zh - CN, zh;q = 0.9", + "cache - control": "no - cache", + "Connection": "keep-alive", + "csrf": "HH3GHIQ0RYM", + "Referer": "http://www.kuwo.cn/search/list?key=%E5%91%A8%E6%9D%B0%E4%BC%A6", + "User-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36", + "Cookie": "_ga=GA1.2.218753071.1648798611; _gid=GA1.2.144187149.1648798611; _gat=1; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1648798611; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1648798611; kw_token=HH3GHIQ0RYM" +} +