pdd.ddk.goods.search_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package pdd
  2. import (
  3. "duoduo/conf"
  4. "duoduo/models/pdd"
  5. "duoduo/tools"
  6. "fmt"
  7. "sort"
  8. "testing"
  9. "time"
  10. )
  11. func TestPddDdkGoodsSearch(t *testing.T) {
  12. var inData pdd.PddDdkGoodsSearchRequest
  13. confIni, errConf := conf.ConnIni()
  14. if errConf != nil {
  15. fmt.Println("err1", errConf)
  16. }
  17. inData.ClientId = confIni.MustValue("pdd", "client_id")
  18. inData.Type = "pdd.ddk.goods.search"
  19. inData.Timestamp = fmt.Sprintf("%d", time.Now().Unix())
  20. inData.DataType = "JSON"
  21. fmt.Print("inData", inData)
  22. jsonStr, err := tools.JsonMarshal(inData)
  23. if err != nil {
  24. fmt.Print("err2 = ", err.Error())
  25. }
  26. fmt.Print(jsonStr)
  27. pddSearch := make(map[string]string)
  28. err = tools.JsonUnmarshal(jsonStr, &pddSearch)
  29. if err != nil {
  30. fmt.Print("err3=", err.Error())
  31. }
  32. var ks []string
  33. for k := range pddSearch {
  34. fmt.Print(k)
  35. ks = append(ks, k)
  36. }
  37. sort.Strings(ks)
  38. plainText := confIni.MustValue("pdd", "client_secret")
  39. //排序后拼接数据
  40. for i := 0; i < len(ks); i++ {
  41. fmt.Print(ks[i])
  42. plainText = plainText + ks[i]
  43. plainText = plainText + pddSearch[ks[i]]
  44. }
  45. plainText += confIni.MustValue("pdd", "client_secret")
  46. fmt.Print("plainText = ", plainText)
  47. sign := tools.MD5(plainText)
  48. fmt.Print(sign)
  49. 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
  50. fmt.Print("url = ", url)
  51. val, err := DuoDuoGet(url)
  52. if err != nil {
  53. fmt.Print("err = ", err.Error())
  54. }
  55. fmt.Print("val = ", val)
  56. }