我正在尝试将请求发送到服务器并使用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)
}
}
因此,当您执行http.ReadResponse
时,会在GoLang中获得Response
对象。 response.Body
的类型为io.ReadCloser
。可以使用ioutil.ReadAll()
将其读入字节数组。
因此,您可以执行byteArr,err := ioutil.ReadAll(response.Body)
。根据您的响应,您可以将其放入Go的JSON处理程序中或将其转换为字符串。
另外,一个快速提示,对于[Get Requests],http
库具有http.Get
,因此您可以避免所有套接字内容。