1. 问题描述
golang在使用net/http
发送http请求时,如果请求头中包含Accept-Encoding: gzip
,且请求服务支持gzip压缩,那么在解析请求返回值时,需要手动解压
2. 代码示例
package test
import (
"bytes"
"compress/gzip"
"fmt"
"github.com/pkg/errors"
"io"
"io/ioutil"
"net/http"
"testing"
"time"
)
func TestPost(t *testing.T) {
url := "http://127.0.0.1/test/gzip"
param := "{\"gzip\": true}"
headers := http.Header{
}
headers.Add("content-type", "application/json")
headers.Add("Accept-Encoding"