如何在 GO 中的 Conn 中编写响应(类型 Response)?

How to write a response (type Response) in a Conn in GO?

我正在制作一个网络服务器,我需要将网站的响应提供给客户。 这在我收到回复的代码部分:

            client := http.Client{}
            resp, err := client.Do(request)
            defer resp.Body.Close()

            if err != nil {
                log.Fatalln(err.Error())
            }

Do(request) returns 响应类型,我需要将此响应发送到客户端 (conn)。我在 conn 类型中看到一个方法,该方法在连接中写入数据,但它只接受字节,我无法以字节为单位转换响应。我需要发送 body、状态和 headers,conn.Write([]bytes) 可以吗?如何将此回复发送给我的客户?

http.Response有一个Write方法,将响应的内容以HTTP/1.X格式写入io.Writer

这将在回复中逐字记录所有内容,因此您可能需要先 remove/modify headers 以满足您的需要。

err = resp.Write(conn)