HTTP中response响应数据获取

  • Post author:
  • Post category:其他


http的响应数据是封装在response中的,如果需要获取响应的具体内容我们可以通过下面的方法简单获取到

package main

import (
   "fmt"
   "io/ioutil"
   "net/http"
)

func responseBody(r *http.Response){
   content, _ := ioutil.ReadAll(r.Body)
   fmt.Printf("%s", content)
   //{
   // "args": {},
   // "headers": {
   // "Accept-Encoding": "gzip",
   //    "Host": "httpbin.org",
   //    "User-Agent": "Go-http-client/1.1",
   //    "X-Amzn-Trace-Id": "Root=1-60e46d3a-016b7ff6190e1c577abb9c40"
   //},
   // "origin": "222.211.214.252",
   // "url": "http://httpbin.org/get"
   //}
}

func status(r *http.Response){
   fmt.Println(r.StatusCode) //状态吗 200
   fmt.Println(r.Status) //状态描述 200 OK
}

func header(r *http.Response){
   str := r.Header.Get("Content-type")
   fmt.Println(str)
}


func main(){
   resp, err := http.Get("http://httpbin.org/get")
   if err != nil {
      panic(err)
   }
   defer func() {_ = resp.Body.Close()}()
   responseBody(resp)
   status(resp)
   header(resp)
}



版权声明:本文为weixin_38299404原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。