Var*_*orb 5 google-api go google-custom-search docker
当在 docker swarm 服务中使用 Go 程序时,stream ID 1; PROTOCOL_ERROR当我调用 a client.Get(url)) 时,我会得到 400 状态和错误消息,当我调用 ) 时,我会得到 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)
Run Code Online (Sandbox Code Playgroud)
我的 Dockerfile:
FROM scratch
ADD ca-certificates.crt /etc/ssl/certs/
ENV MODE=production
ADD main /
CMD ["/main"]
Run Code Online (Sandbox Code Playgroud)
编辑:调试输出
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10059 次 |
| 最近记录: |