获取流错误:流ID 1;在容器中的Golang中使用Google Search API时的PROTOCOL_ERROR

时间:2017-12-19 03:56:27

标签: docker go google-api google-custom-search

当在docker swarm服务中使用Go程序时,当我调用stream ID 1; PROTOCOL_ERROR时,我得到400状态和错误消息client.Get(url)我得到200并且当我{{1时得到结果}}。我使用了"捆绑的CA根证书"从Mozilla的容器内部。任何帮助赞赏。我的代码如下。

go run *.go

我的Dockerfile:

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)

编辑: Debug的输出

FROM scratch

ADD ca-certificates.crt /etc/ssl/certs/

ENV MODE=production

ADD main /
CMD ["/main"]

0 个答案:

没有答案