gpt4 book ai didi

http - 如何在golang中缓存http.Response?

转载 作者:IT老高 更新时间:2023-10-28 13:07:49 24 4
gpt4 key购买 nike

req, err := http.NewRequest("GET", "http://example.com", nil)
req.AddCookie(&http.Cookie{Name: "c", Value: "ccc"})
resp, err := client.Do(req)

从缓存恢复后,我需要在磁盘上缓存 resp 并保持其类型为 http.Response。有什么想法吗?

最佳答案

最简单的方法是使用 httputil.DumpResponsehttp.ReadResponse .

See here for an example . (您必须将代码复制到本地机器并在那里运行,因为 Playground 不允许 I/O)

第一个将您收到的请求转储,也可选择将正文转储到内存中的 []byte 中,然后您可以将其写入磁盘。稍后,您可以从磁盘(或存储它的位置)读回响应并将其包装在 bufio.Reader 中,然后将其传递给 http.ReadResponse。

ReadResponse 将 *http.Request 作为第二个参数,用作响应的 Request 字段的值。如果给出 nil,则返回的 Response 的 Request 字段中会有 GET 请求。

关于http - 如何在golang中缓存http.Response?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32882790/

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