url := "http://www.163.com "
resp, err := http.Get(url)
defer resp.Body.Close()
if err != nil {
fmt.Println(err)
}
怎么用到ReadResponse呢
新手请教func ReadResponse(r *bufio.Reader, req *Request) (resp *Response, err error)是怎么用的
1283292280 · · 3510 次点击更多评论
这个是相对底层一些的API,作用是从`bufio.Reader`读取数据解析为`*http.Response`。
可以参考源文件`net/http/response_test.go`中的`TestReadResponse`。
#1
```
package main
import (
"bufio"
"bytes"
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
resp,err := http.Get("http://www.baidu.com")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
buf := new(bytes.Buffer)
resp.Write(buf)
b := bufio.NewReader(buf)
resp2,err := http.ReadResponse(b,nil)
if err != nil{
log.Fatal(err)
}
defer resp2.Body.Close()
body,err := ioutil.ReadAll(resp2.Body)
fmt.Println(string(body))
}
```
这样就用到了
#3