diff --git a/providers/kugou/playlist.go b/providers/kugou/playlist.go index 6fe4ec7..c4164bb 100644 --- a/providers/kugou/playlist.go +++ b/providers/kugou/playlist.go @@ -111,18 +111,16 @@ func (k *Kugou) GetPlaylist(meta miaosic.MetaData) (*miaosic.Playlist, error) { if err == nil { playlist.Title = title } - for page := 0; page < 25; page++ { + for page := 0; page < 30; page++ { params["begin_idx"] = page * 100 - params = k.addAndroidParams(params, "") urlReq, _ := deepcolor.NewGetRequestWithQuery( "https://gateway.kugou.com/pubsongs/v2/get_other_list_file_nofilt", - params, map[string]string{}, + k.addAndroidParams(params, ""), map[string]string{}, ) resp, err := miaosic.Requester.HTTP(urlReq) if err != nil { return nil, err } - //fmt.Println(resp.String()) result := gjson.ParseBytes(resp.Body()) if result.Get("error_code").Int() != 0 { return nil, errors.New("kugou: get playlist error") diff --git a/providers/kugou/utils.go b/providers/kugou/utils.go index 5d24089..4247dd7 100644 --- a/providers/kugou/utils.go +++ b/providers/kugou/utils.go @@ -76,7 +76,11 @@ func signatureWebParams(params map[string]string) string { return strings.ToUpper(hex.EncodeToString(hash[:])) } -func (k *Kugou) addAndroidParams(params map[string]interface{}, data string) map[string]interface{} { +func (k *Kugou) addAndroidParams(origParams map[string]interface{}, data string) map[string]interface{} { + params := make(map[string]interface{}) + for key, value := range origParams { + params[key] = value + } if token, ok := k.cookie["token"]; ok { params["token"] = token } else {