2 回答
TA贡献1848条经验 获得超10个赞
我不确定我是否理解问题,但这是我调用 https google 链接并打印输出。
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"golang.org/x/net/http2"
)
func main() {
client := &http.Client{Transport: transport2()}
res, err := client.Get("https://www.google.com")
if err != nil {
log.Fatal(err)
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Fatal(err)
}
res.Body.Close()
fmt.Printf("Code: %d\n", res.StatusCode)
fmt.Printf("Body: %s\n", body)
}
func transport2() *http2.Transport {
return &http2.Transport{
DisableCompression: true,
AllowHTTP: false,
}
}
TA贡献1869条经验 获得超4个赞
谢谢大家的意见。Travis 似乎已经确定了我遇到的问题。我正在阅读的响应正文似乎是 gzip 编码的(响应包含“Content-Encoding:gzip”)。为了验证是否是这种情况,我必须在转发之前显式删除原始请求中的“Accept-Encoding: gzip”标头,并将传输配置为设置“DisableCompression:true”。一旦我进行了这两项更改,我就会看到没有“Content-Encoding”标题的响应,并且我阅读的正文是人类可读的。
- 2 回答
- 0 关注
- 202 浏览
添加回答
举报
