首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送HTTP/2请求

发送HTTP/2请求
EN

Stack Overflow用户
提问于 2021-11-18 11:02:16
回答 1查看 361关注 0票数 0

我正在尝试从Go发送HTTP/2请求,但我做不到。

代码语言:javascript
复制
client := &net.Client{}
request, err := net.NewRequest("GET", someUrl, nil)
if err != nil {
    return "", err
}

// some headers
// some cookies

client.Transport = &http2.Transport{}

response, err := client.Do(request)

如果我打印转储请求

代码语言:javascript
复制
dr, _ := httputil.DumpRequest(request, false)
fmt.Println(string(dr))

然后,结果如下

代码语言:javascript
复制
GET /some/url HTTP/1.1
// some headers
// some cookies

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-18 17:18:24

我试着从Go发送HTTP/2请求,但我做不到. := httputil.DumpRequest(请求,false) fmt.Println(字符串( dr )) 然后,结果如下 获取/一些/url HTTP/1.1 /某些标题//一些cookie

DumpRequest不会打印在线路上发送的请求,并且特别不适合检查是否使用了HTTP/2。文档明确声明:

DumpRequest在其HTTP/1.x有线表示形式中返回给定的请求。服务器只应使用它来调试客户端请求。返回的表示形式是近似(仅为);将初始请求解析为http.Request时丢失了一些初始请求的细节。特别是,顺序和头字段名的大小写丢失了。多值报头中的值顺序保持不变.HTTP/2请求被转储为HTTP1.x形式的,而不是它们最初的二进制表示形式。“

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70018694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档