Meine Anwendung lehnt dies ab, aber wenn ich die Daten locke, funktioniert es. Es scheint also, dass ich irgendwo verwirrt bin, wie ich diese http-Nutzdaten in Go komprimiere.How to GZIP Komprimiere eine HTTP-Anfrage in Go?
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)
Kann jemand sehen, wo ich falsch liege?
Sie nicht wickeln müssen buf in einem 'Bytes.Reader' - es erfüllt bereits eine Reader-Schnittstelle. – JimB
@ JimB: Verschiedene Variationen scheinen einen Fehler zurückzugeben, können Sie mir die tatsächliche Codeänderung zeigen, die Sie empfehlen? –
(meine Vermutung) Buffer.Read hat einen Zeiger Empfänger, so dass Sie die Adresse von buf benötigen, z. 'http.NewRequest (" POST ", q.host, & buf)' – JimB