我正在尝试向服务器发送请求并使用http.ReadResponse函数接收响应,但问题是它被阻止并且没有收到任何内容。首先,我认为我使用了不正确的请求,所以现在我使用nil作为第二个参数来发送默认的 GET 请求(如文档中所述),但没有任何改变。也许我使用bufio.Reader不正确,但我真的不这么认为,因为http.ReadRequest效果很好。func main() { var conn, _ = net.Dial("tcp", "localhost:80") defer conn.Close() var ( reader = bufio.NewReader(conn) response, err = http.ReadResponse(reader, nil) ) if err == nil { fmt.Println(*response) }}
2 回答

米脂
TA贡献1836条经验 获得超3个赞
您的请求将不起作用。通过创建套接字,当您应该发送第 7 层请求时,您正在发送第 4 层请求(http 是应用程序层的一部分)。幸运的是,http
go 中的库已经实现了Get
. 因此,要完成您想要的,只需执行以下操作:
resp, _ http.Get("localhost:80") body, _ = ioutil.ReadAll(resp.Body)
然后你可以把 body 扔进 Go 的 JSON Handler 或者把它变成一个字符串。
- 2 回答
- 0 关注
- 318 浏览
添加回答
举报
0/150
提交
取消