10
我的應用程序拒絕了這個,但是當我蜷縮它正在工作的數據時,所以似乎有一個地方讓我對Go中壓縮這個http有效載荷感到困惑。如何在GZIP中壓縮http請求?
var buf bytes.Buffer
g := gzip.NewWriter(&buf)
g.Write([]byte("apples")
req, err := http.NewRequest("POST", q.host, bytes.NewReader(buf.Bytes()))
...
req.Header.Set("Content-Type", "text/plain")
req.Header.Set("Content-Encoding", "gzip")
resp, err := client.Do(req)
是否有人看到我錯了?
你不需要包buf in'bytes.Reader' - 它已經實現了Reader接口。 – JimB
@JimB:各種變體似乎都會返回錯誤,您能否告訴我您推薦的實際代碼更改? –
(我的猜測)Buffer.Read有一個指針接收器,所以你需要buf的地址,例如'http.NewRequest(「POST」,q.host,&buf)' – JimB