1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package pdd
- import (
- "duoduo/conf"
- "fmt"
- "github.com/asmcos/requests"
- "reflect"
- "strconv"
- )
- //
- func DuoDuoGet(url string) (outData string, err error) {
- req := requests.Requests()
- resp, err := req.Get(url)
- if err != nil {
- return "", err
- } else {
- fmt.Print("resp = ", resp.R)
- return resp.Text(), err
- }
- }
- func Sign() {
- }
- // 解析 拼接请求
- func Get(getData interface{}, url string) (outData string, err error) {
- //加载配置
- confIni, errConf := conf.ConnIni()
- if errConf != nil {
- fmt.Println(errConf)
- }
- host := confIni.MustValue("tisp", "postadd")
- // 1、通过json变量来获取所有Get的参数
- parameter := ""
- getType := reflect.TypeOf(getData)
- getValue := reflect.ValueOf(getData)
- for i := 0; i < getType.NumField(); i++ {
- valueType := getType.Field(i).Type.String()
- value := getValue.Field(i)
- tagName := getType.Field(i).Tag.Get("json")
- // 如果是int类型,并且是0,抛弃
- if valueType == "int" && value.Int() != 0 {
- if parameter != "" {
- parameter += "&"
- }
- parameter += tagName + "=" + strconv.FormatInt(value.Int(), 10)
- }
- // 如果是string类型,并且是空字符串,抛弃。
- if valueType == "string" && value.String() != "" {
- if parameter != "" {
- parameter += "&"
- }
- parameter += tagName + "=" + value.String()
- }
- }
- // 2、组合Url
- urlAddress := fmt.Sprintf("%s%s?%s", host, url, parameter)
- fmt.Println("url = ", urlAddress)
- // 3、请求Html
- req := requests.Requests()
- resp, err := req.Get(urlAddress)
- if err != nil {
- fmt.Println("err = ", err.Error())
- return "", err
- } else {
- return resp.Text(), nil
- }
- }
|