送信
func sendPostData() error {
gz := new(bytes.Buffer)
w := gzip.NewWriter(gz)
if _, err := w.Write(j); err != nil {
return err
}
if err := w.Close(); err != nil {
return err
}
body := bytes.NewReader(gz.Bytes())
req, err := http.NewRequest(http.MethodPost, "http://xxxx.example.com", body)
if err != nil {
return err
}
req.Header.Set("Content-Encoding", "gzip")
res, err := http.DefaultClient.Do(req)
if err != nil {
return err
}
return nil
}
受信
func getPostData(r *http.Request) error {
reader, err := gzip.NewReader(r.Body)
if err != nil {
return err
}
defer r.Close()
var b []byte
scanner := bufio.NewScanner(reader)
for scanner.Scan() {
b = scanner.Bytes()
}
log.Println(string(b))
return nil
}