123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- package pdd
- import (
- "bytes"
- "duoduo/conf"
- "duoduo/tools"
- "duoduo/tools/app"
- "fmt"
- "io/ioutil"
- "net/http"
- )
- func PostPdd(inputObj interface{}, outputObj interface{}, function string) error {
- //数据转json
- jsonData, err := tools.JsonMarshal(inputObj)
- if err != nil {
- fmt.Println(err.Error())
- return err
- }
- fmt.Print("jsonData = ", jsonData)
- confIni, errConf := conf.ConnIni()
- if errConf != nil {
- fmt.Println(errConf)
- }
- 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)
- 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)
- fmt.Print(string(respBytes))
- return nil
- }
- //调用阿里接口
- func Post(inputObj interface{}, outputObj interface{}, function string) error {
- //加载配置
- confIni, errConf := conf.ConnIni()
- if errConf != nil {
- fmt.Println(errConf)
- }
- hostAdd := fmt.Sprintf("%s", confIni.MustValue("aliSet", "ali_host"))
- fmt.Println(hostAdd)
- //数据转json
- jsonData, err := tools.JsonMarshal(inputObj)
- if err != nil {
- fmt.Println(err.Error())
- return err
- }
- app.TispELKLogs(function, "POST", jsonData)
- fmt.Print("json = ", jsonData)
- request, err := http.NewRequest("POST", hostAdd, bytes.NewBuffer([]byte(jsonData)))
- 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 {
- fmt.Printf("ioutil.ReadAll%v", err)
- return err
- }
- fmt.Println(string(respBytes))
- err = tools.JsonUnmarshal(string(respBytes), outputObj)
- if err != nil {
- return err
- }
- app.TispELKOutDataLogs(function, "POST", string(respBytes))
- return nil
- ////byte数组直接转成string,优化内存
- //str := (*string)(unsafe.Pointer(&respBytes))
- }
|