go http get 请求实现


主要记录的功能点

  • 设置Header
  • 解析返回的消息体,获取需要的那部分

服务侧的返回消息体

{
    "success": true,
    "message": "OK",
    "data": {
        "name": "xxx",
        "hostName": "xxxxx",
      "status": 0,
        "statusTime": "2020-08-06 15:04:18",
"disable": false, "instanceType": "host", "podId": null, "containerList": null }, "retcode": 0 }

客户端请求

func queryInstance(instanceName string) {
    url:="xxxxx"
    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        fmt.Println(err)
    }
// 设置Header req.Header.Set(
"token", "XXXX") req.Header.Set("Content-Type", "application/json;charset=UTF-8") client := &http.Client{} resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body)
  // 只定义需要获取的那部分消息体的结构 type Data struct { HostName string `json:
"hostName"` } type Response struct { Success bool `json:"success"` Data Data `json:"data"` } response := Response{}
// 解析json数据并将数据存储在response结构体中 json.Unmarshal(body,
&response)
   fmt.Println(response) fmt.Println(response.Data.HostName) }

打印结果

{true {test.hsotname1}}
test.hsotname1

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM