gpt4 book ai didi

go - http.Client POST 在发送正文之前读取响应

转载 作者:行者123 更新时间:2023-12-01 22:38:50 26 4
gpt4 key购买 nike

有没有办法做 client.Do("POST", "example.com", body)并在整个响应正文被接收/关闭之前读取响应 header ?这类似于 JavaScript XHR 请求如何发出已收到 header 的事件,您可以在请求的其余部分到达之前读取它们。

我想要完成的是制作一种“智能客户端”,它使用来自我的服务器的 header 中的信息来确定在请求正文中上传什么。所以我需要启动请求,读取响应头,然后开始写入请求正文。由于我系统的性质,我无法将其拆分为单独的请求。我相信这在协议(protocol)级别是可能的,但我不确定 go 的 http 库是否支持它。

最佳答案

http 客户端 Do 函数在返回整个响应正文之前不会阻塞。如果您不想阅读完整的响应,为什么不在检查标题后使用 res.Body.Close() ?我认为如果您想要大致相同的行为,它应该可以工作。根据 Doc。

The response body is streamed on demand as the Body field is read. If the network connection fails or the server terminates the response, Body.Read calls return an error.



尽管默认 http.Client 的 DefaultTransport 是 http.Transport 并不能保证在您指定之前它不会读取任何字节。

关于go - http.Client POST 在发送正文之前读取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59043901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com