2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
最簡(jiǎn)單的方法是使用httputil.DumpResponse和http.ReadResponse。
有關(guān)示例,請(qǐng)參見(jiàn)此處。(您必須將代碼復(fù)制到本地機(jī)器上并在那里運(yùn)行,因?yàn)?Playground 不允許 I/O)
第一個(gè)將您收到的請(qǐng)求轉(zhuǎn)儲(chǔ),也可以選擇將正文轉(zhuǎn)儲(chǔ)到內(nèi)存中的 [] 字節(jié),然后您可以將其寫(xiě)入磁盤(pán)。稍后您可以從磁盤(pán)(或您存儲(chǔ)它的任何位置)讀取響應(yīng)并將其包裝在 bufio.Reader 中,然后將其傳遞給 http.ReadResponse。
ReadResponse 將 *http.Request 作為第二個(gè)參數(shù),用作響應(yīng)的 Request 字段的值。如果給出 nil,則返回的 Response 將在其 Request 字段中包含 GET 請(qǐng)求。

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
...或使用https://github.com/lox/httpcache。一個(gè)符合 RFC7234 的 golang http.Handler,用于緩存 HTTP 響應(yīng)
- 2 回答
- 0 關(guān)注
- 391 瀏覽
添加回答
舉報(bào)