package pdd import ( "duoduo/conf" "duoduo/models/pdd" "duoduo/tools" "fmt" "sort" "testing" "time" ) func TestPddDdkGoodsSearch(t *testing.T) { var inData pdd.PddDdkGoodsSearchRequest confIni, errConf := conf.ConnIni() if errConf != nil { fmt.Println("err1", errConf) } inData.ClientId = confIni.MustValue("pdd", "client_id") inData.Type = "pdd.ddk.goods.search" inData.Timestamp = fmt.Sprintf("%d", time.Now().Unix()) inData.DataType = "JSON" fmt.Print("inData", inData) jsonStr, err := tools.JsonMarshal(inData) if err != nil { fmt.Print("err2 = ", err.Error()) } fmt.Print(jsonStr) pddSearch := make(map[string]string) err = tools.JsonUnmarshal(jsonStr, &pddSearch) if err != nil { fmt.Print("err3=", err.Error()) } var ks []string for k := range pddSearch { fmt.Print(k) ks = append(ks, k) } sort.Strings(ks) plainText := confIni.MustValue("pdd", "client_secret") //排序后拼接数据 for i := 0; i < len(ks); i++ { fmt.Print(ks[i]) plainText = plainText + ks[i] plainText = plainText + pddSearch[ks[i]] } plainText += confIni.MustValue("pdd", "client_secret") fmt.Print("plainText = ", plainText) sign := tools.MD5(plainText) fmt.Print(sign) url := "https://gw-api.pinduoduo.com/api/router?type=pdd.ddk.goods.search&data_type=JSON&client_id=" + inData.ClientId + "&" + "timestamp=" + inData.Timestamp + "&" + "sign=" + sign fmt.Print("url = ", url) val, err := DuoDuoGet(url) if err != nil { fmt.Print("err = ", err.Error()) } fmt.Print("val = ", val) }