35 lines
837 B
Go
35 lines
837 B
Go
|
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
|
|||
|
}
|