package httpx import ( "bytes" "encoding/json" "io/ioutil" "net/http" "time" ) func SendPost(_header http.Header, _url string, _post interface{}) ([]byte, error) { bytesData, err := json.Marshal(_post) if err != nil { return nil, err } req, err := http.NewRequest("POST", _url, bytes.NewBuffer(bytesData)) if err != nil { return nil, err } req.Header.Set("Content-Type", "application/json;charset=UTF-8") for k, v := range _header { if len(v) > 0 { req.Header.Set(k, v[0]) } } client := &http.Client{Timeout: 20 * time.Second} resp, err := client.Do(req) if err != nil { return nil, err } defer resp.Body.Close() respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { return nil, err } return respBytes, nil }