79 lines
1.7 KiB
Go
79 lines
1.7 KiB
Go
package service
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"net/http"
|
|
"strings"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
// Httpsetheader
|
|
func HttpSetHeader(method, url *string, body interface{}) (*http.Request, error) {
|
|
bb, err := json.Marshal(body)
|
|
if err != nil {
|
|
return nil, nil
|
|
}
|
|
reader := strings.NewReader(string(bb))
|
|
//生成client 参数为默认
|
|
// client := &http.Client{}
|
|
|
|
//提交请求
|
|
reqest, err := http.NewRequest(*method, *url, reader)
|
|
if err != nil {
|
|
logrus.WithFields(logrus.Fields{
|
|
"func": "Httpsetheader",
|
|
}).Warnf("%s", err.Error())
|
|
return nil, err
|
|
}
|
|
// //增加header选项
|
|
// reqest.Header.Add("Cookie", "xxxxxx")
|
|
// reqest.Header.Add("User-Agent", "xxx")
|
|
// reqest.Header.Add("X-Requested-With", "xxxx")
|
|
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// //处理返回结果
|
|
// response, _ := client.Do(reqest)
|
|
// defer response.Body.Close()
|
|
return reqest, nil
|
|
}
|
|
|
|
func HttpPost(uri string, body interface{}) (*[]byte, error) {
|
|
bb, err := json.Marshal(body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
reader := strings.NewReader(string(bb))
|
|
|
|
url := fmt.Sprintf("%s%s", viper.GetString("srv.host"), uri)
|
|
resp, err := http.Post(url, "application/json;charset=UTF-8", reader)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer resp.Body.Close()
|
|
respbody, err := ioutil.ReadAll(resp.Body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &respbody, nil
|
|
}
|
|
|
|
func HttpGet(uri string) (*[]byte, error) {
|
|
url := fmt.Sprintf("%s%s", viper.GetString("srv.host"), uri)
|
|
resp, err := http.Get(url)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer resp.Body.Close()
|
|
respbody, err := ioutil.ReadAll(resp.Body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &respbody, nil
|
|
}
|