|
@@ -8,6 +8,7 @@ import (
|
|
|
"fmt"
|
|
|
"io/ioutil"
|
|
|
"net/http"
|
|
|
+ "sort"
|
|
|
)
|
|
|
|
|
|
func PostPdd(inputObj interface{}, outputObj interface{}, function string) error {
|
|
@@ -18,6 +19,8 @@ func PostPdd(inputObj interface{}, outputObj interface{}, function string) error
|
|
|
fmt.Println(err.Error())
|
|
|
return err
|
|
|
}
|
|
|
+ var jsonStr = []byte(jsonData)
|
|
|
+ buffer := bytes.NewBuffer(jsonStr)
|
|
|
|
|
|
fmt.Print("jsonData = ", jsonData)
|
|
|
|
|
@@ -28,9 +31,9 @@ func PostPdd(inputObj interface{}, outputObj interface{}, function string) error
|
|
|
|
|
|
path := confIni.MustValue("pdd", "api_http")
|
|
|
fmt.Print(path)
|
|
|
- path = "https://gw-api.pinduoduo.com/api/router?type=pdd.ddk.goods.search&data_type=JSON&client_id=a5d05569c6584a50bfb6600b2d150bae×tamp=1620461572&sign=8F2C23805C8B8A388AFB512DD3EAD727"
|
|
|
+
|
|
|
|
|
|
- request, err := http.NewRequest("POST", path, nil)
|
|
|
+ request, err := http.NewRequest("POST", path, buffer)
|
|
|
if err != nil {
|
|
|
fmt.Println(err.Error())
|
|
|
return err
|
|
@@ -50,6 +53,92 @@ func PostPdd(inputObj interface{}, outputObj interface{}, function string) error
|
|
|
|
|
|
}
|
|
|
|
|
|
+func PostDDk(inputObj interface{}, outputObj interface{}) (string, error) {
|
|
|
+
|
|
|
+ jsonData, err := tools.JsonMarshal(inputObj)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ fmt.Print(jsonData)
|
|
|
+ var jsonStr = []byte(jsonData)
|
|
|
+ buffer := bytes.NewBuffer(jsonStr)
|
|
|
+ confIni, errConf := conf.ConnIni()
|
|
|
+ if errConf != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+
|
|
|
+ path := confIni.MustValue("pdd", "api_http")
|
|
|
+ fmt.Print(path)
|
|
|
+
|
|
|
+ request, err := http.NewRequest("POST", path, buffer)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ request.Header.Set("Content-Type", "application/json;charset=UTF-8")
|
|
|
+ client := http.Client{}
|
|
|
+
|
|
|
+ resp, err := client.Do(request)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("client.Do%v", err)
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ respBytes, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ fmt.Print(string(respBytes))
|
|
|
+
|
|
|
+ return string(respBytes), nil
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func DDKSign(inputObj interface{}) (string, error) {
|
|
|
+
|
|
|
+ jsonData, err := tools.JsonMarshal(inputObj)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ pddSearch := make(map[string]string)
|
|
|
+ err = tools.JsonUnmarshal(jsonData, &pddSearch)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+
|
|
|
+ confIni, errConf := conf.ConnIni()
|
|
|
+ if errConf != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+
|
|
|
+ path := confIni.MustValue("pdd", "api_http")
|
|
|
+ fmt.Print(path)
|
|
|
+
|
|
|
+ var ks []string
|
|
|
+ for k, v := range pddSearch {
|
|
|
+ fmt.Print(k)
|
|
|
+ fmt.Print(v)
|
|
|
+ if v != "" {
|
|
|
+ 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)
|
|
|
+
|
|
|
+ return sign, nil
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
func Post(inputObj interface{}, outputObj interface{}, function string) error {
|
|
|
|