//golang 发送http请求使用 “net/http” 包
import (
"net/http"
)
func HttpPostJson(jsonStr []byte, url){
// 先新建NewRequest,保存请求方式和内容
// 第一个参数可选 POST或GET 或其他
//url 为请求地址
//第三个参数为
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
// 可以设置其他的Header
req.Header.Set("Content-Type", "application/json; charset=UTF-8")
//调用一个http.Clien 客户端,用于对Reques 对象的处理
// 要发送复杂的上下文 建议使用 NewRequestWithContext + Client.Do 形式
//简单内容可以直接使用 client.Post/client.Get 方法,使用方法查看源码即可
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
// client.Do 返回的body 必须要关闭
defer resp.Body.Close()
statuscode := resp.StatusCode
hea := resp.Header
body, _ := ioutil.ReadAll(resp.Body)
//读取body
fmt.Println(string(body))
//状态值
fmt.Println(statuscode)
fmt.Println(hea)
}