|
@@ -0,0 +1,65 @@
|
|
|
+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)
|
|
|
+}
|