我正在尝试用 Go 编写一个 Web 客户端,但是当我检查 http 请求正文的返回值时,我得到一个数字数组,而不是文本。这是产生输出的程序中最孤立的版本。我想我没有用 ioutil 做点什么,但不知道是什么。package mainimport "fmt"import "net/http"import "io/ioutil"func main() { resp, err := http.Get("http://test.com/") if err != nil { fmt.Println(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) fmt.Print(body)}输出看起来像:[239 187 191 60 33 68 79 67 84 89 80 69 32 104 116 109 108 ...而不是 test.com 返回的测试
1 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
ioutil.ReadAll()返回一个字节切片 ( []byte) 而不是一个string(加上一个error)。
将其转换为string,您就可以开始了:
fmt.Print(string(body))
看这个简单的例子(在Go Playground上试试):
var b []byte = []byte("Hello")
fmt.Println(b)
fmt.Println(string(b))
输出:
[72 101 108 108 111]
Hello
- 1 回答
- 0 关注
- 142 浏览
添加回答
举报
0/150
提交
取消