【发布时间】:2017-12-18 08:14:58
【问题描述】:
我向服务器发送请求并从其中获得答案。你可以看到我的代码:
// Some code
queryUrl, err := url.Parse(someValidStringUrl)
resp, err := client.Get(queryUrl.String())
我们来看看err:
if err != nil {
log.Panic("Responce:", resp, "\nError:", err)
}
在此之后,我想得到我的回复正文。我这样做了,但我得到了空字节片:
var bytes []byte
n, err := resp.Body.Read(bytes)
if err != nil {
log.Panic(err)
}
log.Println(n, string(bytes))
输出示例:
2017/07/13 16:32:36 0
Here我找到了另一种方式:
// Some code
queryUrl, err := url.Parse(someValidStringUrl)
resp, err := client.Get(queryUrl.String())
if err != nil {
log.Panic("Responce:", resp, "\nError:", err)
}
defer resp.Body.Close()
if resp.StatusCode == 200 { // OK
bodyBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Panic(err)
}
log.Println(string(bodyBytes))
}
输出示例:
<html lang='en'>
<head>
</head>
<body>
<title>Hello world</title>
</body>
</html>
请帮帮我。这些例子之间有什么区别?为什么我的方法行不通?
【问题讨论】: