如何在 Golang 中使用 HTTP/2 写入/读取/发送数据帧?
Posted
技术标签:
【中文标题】如何在 Golang 中使用 HTTP/2 写入/读取/发送数据帧?【英文标题】:How to write/read/send a data Frame using HTTP/2 in Golang? 【发布时间】:2016-11-12 20:14:33 【问题描述】:我想知道如何使用 HTTP/2 来编写、读取和发送帧,例如数据帧。我知道 Golang 库 net/http 支持这个新协议,但我不知道如何正确地做上述方面。
提前谢谢你!
【问题讨论】:
【参考方案1】:尝试像这样发送http2请求
首先需要导入http2包
import "golang.org/x/net/http2"
然后,写一些请求代码
t := &http2.Transport
c := &http.Client
Transport: t,
r, _ := http.NewRequest("GET", "https://http2.golang.org/reqinfo", bytes.NewBuffer([]byte("hello")))
resp, err := c.Do(r)
if err != nil
fmt.Printf("request error")
defer resp.Body.Close()
content, _ := ioutil.ReadAll(resp.Body)
fmt.Printf("body length:%d\n", len(content))
【讨论】:
您没有在定义后的任何地方使用变量“t”和“r”。那么你为什么要定义它们呢?t
用作http.Client
中的传输,r
用于调用c.Do(r)
并表示请求。以上是关于如何在 Golang 中使用 HTTP/2 写入/读取/发送数据帧?的主要内容,如果未能解决你的问题,请参考以下文章