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 }