package utils import ( "bytes" "io/ioutil" "net/http" ) func Post(url, data string) (string, error) { reader := bytes.NewReader([]byte(data)) request, err := http.NewRequest("POST", url, reader) if err != nil { return "", err } defer request.Body.Close() //程序在使用完回复后必须关闭回复的主体 request.Header.Set("Content-Type", "application/json;charset=UTF-8") //必须设定该参数,POST参数才能正常提交,意思是以json串提交数据 client := http.Client{} resp, err := client.Do(request) //Do 方法发送请求,返回 HTTP 回复 if err != nil { return "", err } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err } //byte数组直接转成string,优化内存 // str := (*string)(unsafe.Pointer(&respBytes)) return string(respBytes), nil }