golang-http 请求---设置header与直接发
发布时间:2020-12-16 09:22:55 所属栏目:大数据 来源:网络整理
导读:背景 现在各种软件到处都是,写代码难免有时候需要http 调用其他的接口。 其实这个东西还挺常用,虽然很简单,但是写的时候 又忘,就像是提笔忘字,索性总结一下吧。 不需要设置header属性的http 请求 那就直接发,简单快捷不拖沓。 http GET请求 resp,err :
背景现在各种软件到处都是,写代码难免有时候需要http 调用其他的接口。 不需要设置header属性的http 请求那就直接发,简单快捷不拖沓。 http GET请求 resp,err := http.Get("http://abced.com/" + "/user/false/lsj") if err != nil { t.Log("query cluster failed",err.Error()) t.FailNow() } defer resp.Body.Close() var serviceResp ServiceResp respByte,_ := ioutil.ReadAll(resp.Body) // 读出body之后,就干什么干什么了,下同。 http POST请求 // 在别处定义 info := model.User{ Desc: "test UserInfo",UserId: "lsj",TopicName: "test",ClusterName: "test",Type: 1,} byte,_ := json.Marshal(info) resp,err := http.Post("http://abced.com/" + "/user/save","application/json",strings.NewReader(string(byte))) if err != nil { t.Log("query info failed",_ := ioutil.ReadAll(resp.Body) ...... 需要设置header属性的http 请求那就new 一个 request,再设置其header 就好了 设置header 的GET请求 req,_ := http.NewRequest("GET","http://abced.com/" + "/user/false/lsj",nil) // 比如说设置个token req.Header.Set("token","d8cdcf8427e") // 再设置个json req.Header.Set("Content-Type","application/json") resp,err := (&http.Client{}).Do(req) //resp,err := http.Get(serviceUrl + "/topic/query/false/lsj") if err != nil { t.Log("query topic failed",_ := ioutil.ReadAll(resp.Body) ...... 设置header 的POST请求 // 在别处定义 info := model.User{ Desc: "test UserInfo",} byte,_ := json.Marshal(info) req,_ := http.NewRequest("POST",strings.NewReader(string(byte))) req.Header.Set("token","00998ecf8427e") resp,err := (&http.Client{}).Do(req) if err != nil { t.Log("save topic failed",_ := ioutil.ReadAll(resp.Body) ...... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |