获取stream错误:streamID 1; 在容器中使用Golang中的GooglesearchAPI时的PROTOCOL_ERROR

当在docker群服务中使用Go程序时,我得到一个400状态和一个错误消息stream ID 1; PROTOCOL_ERROR 当我调用一个client.Get(url)时, stream ID 1; PROTOCOL_ERROR我得到一个200和结果,当我go run *.go 。 我在Mozilla的容器中使用了“CA根证书的包”。 任何帮助赞赏。 我的代码如下。

 client := &http.Client{Timeout: 30 * time.Second, Transport: &http.Transport{ DisableCompression: true, DisableKeepAlives: true, }} r, err := client.Get(url) if err != nil { return err } defer r.Body.Close() bodyBytes, err := ioutil.ReadAll(r.Body) if err != nil { fmt.Println(url, err) // The Google Search url and err: stream error: stream ID 1; PROTOCOL_ERROR return err } fmt.Println(r.StatusCode, string(bodyBytes)) return json.NewDecoder(r.Body).Decode(target) 

我的Dockerfile:

 FROM scratch ADD ca-certificates.crt /etc/ssl/certs/ ENV MODE=production ADD main / CMD ["/main"] 

编辑:从debugging输出

 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport creating client conn 0xc42030b340 to 172.217.2.234:443 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: wrote SETTINGS len=18, settings: ENABLE_PUSH=0, INITIAL_WINDOW_SIZE=4194304, MAX_HEADER_LIST_SIZE=10485760 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: wrote WINDOW_UPDATE len=4 (conn) incr=1073741824 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport encoding header ":authority" = "www.googleapis.com" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport encoding header ":method" = "GET" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport encoding header ":path" = "/customsearch/v1?key=hidingmykey&cx=hidingmycx&q=liquid+nitrogen&num=10&start=1" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport encoding header ":scheme" = "https" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport encoding header "user-agent" = "Go-http-client/2.0" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: wrote HEADERS flags=END_STREAM|END_HEADERS stream=1 len=140 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: read SETTINGS len=18, settings: MAX_CONCURRENT_STREAMS=100, INITIAL_WINDOW_SIZE=1048576, MAX_HEADER_LIST_SIZE=16384 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport received SETTINGS len=18, settings: MAX_CONCURRENT_STREAMS=100, INITIAL_WINDOW_SIZE=1048576, MAX_HEADER_LIST_SIZE=16384 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: wrote SETTINGS flags=ACK len=0 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: read WINDOW_UPDATE len=4 (conn) incr=983041 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport received WINDOW_UPDATE len=4 (conn) incr=983041 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: read SETTINGS flags=ACK len=0 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport received SETTINGS flags=ACK len=0 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: read HEADERS flags=END_HEADERS stream=1 len=72 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: decoded hpack field header field ":status" = "400" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: decoded hpack field header field "content-type" = "text/html; charset=UTF-8" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: decoded hpack field header field "referrer-policy" = "no-referrer" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: decoded hpack field header field "content-length" = "1555" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: decoded hpack field header field "date" = "Tue, 19 Dec 2017 12:50:17 GMT" mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport received HEADERS flags=END_HEADERS stream=1 len=72 mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: read RST_STREAM stream=1 len=4 ErrCode=PROTOCOL_ERROR mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Transport received RST_STREAM stream=1 len=4 ErrCode=PROTOCOL_ERROR mycontainer.1.jdl70gy26uds@moby | 2017/12/19 12:50:16 http2: Framer 0xc4204862a0: wrote RST_STREAM stream=1 len=4 ErrCode=CANCEL