//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)
}