为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Go 通过 http/2 连接到 Alexa 语音服务时遇到问题

使用 Go 通过 http/2 连接到 Alexa 语音服务时遇到问题

Go
撒科打诨 2022-01-10 17:18:09
我正在尝试建立一个下行通道,如创建 http/2 连接下所述。我正在用 Go 编写我的客户端,我的代码如下:api_endpoint := "https://avs-alexa-na.amazon.com/v1/directives"access_token := fetchAccessToken() //retrieves token from local filereq, err := http.NewRequest("GET", api_endpoint, nil)if(err != nil){  panic(err)}req.Header.Add("authorization", fmt.Sprintf("Bearer %s",   access_token))client := &http.Client{}res, err := client.Do(req)if(err != nil){  panic(err)}问题是我的客户端在请求后给出以下错误: Get https://avs-alexa-na.amazon.com/v1/directives : malformed HTTP response "\x00\x00\x1e\x04\x00\x00\ x00\x00\x00\x00\x01\x00\x00\x10\x00\x00\x03\x00\x00\x00”。我不知道如何处理这个问题。我怀疑 Go 出于某种原因没有使用 http/2,因此无法处理响应,但我不知道为什么会这样。我正在使用 Go 1.6.1,它应该会自动使用它。任何帮助将不胜感激。
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

事实证明,问题是 Go 1.6.1 中的一个错误导致 HTTP 客户端默认不使用 http/2。升级到 1.6.2 解决了这个问题。Github 问题:https : //github.com/golang/go/issues/14391


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信