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

标签 go webserver response

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

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

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

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

最佳答案

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

这将逐字记录响应中的所有内容,因此您可能需要先删除/修改 header 以满足您的需要。

err = resp.Write(conn)

关于go - 如何在 GO 中的 Conn 中编写响应(类型 Response)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41575634/

相关文章:

java - 使用 Retrofit2 获取响应主体的空数据?

javascript - 如果 innerWidth < 1300,则根据 javascript window.resize 更改 div 大小

go - 如何创建一个先读取N个字节然后读取其余N个字节的读取器?

testing - 如何在 go test 中检查日志/输出?

asp.net - 如何运行只能在本地(不在 IIS 上)访问的轻量级 ASP.NET MVC 应用程序?

ubuntu - 如何使目录apache在ubuntu上可读

python - 默认情况下,django 中有哪个 Web 服务器?

Go Stdin Stdout 通信

go - 在 Golang 中将字符串转换为数组

java - 如何在 Java 中将类显示为 JSON 响应?