为什么我的HTTP请求头中缺少主机?

7

我正在打印出所有标题,我得到:

map[Cookie:[_ga=GA1.2.843429125.1462575405] User-Agent:[Mozilla/5.0
(Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko)
Version/9.0.3 Safari/601.4.4] Accept-Language:[en-us] 
Accept-Encoding:[gzip, deflate] Connection:[keep-alive] 
Accept:[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]]

这意味着我的浏览器发送了“Cookie”、“User-Agent”、“Accept-Language”、“Accept-Encoding”、“Connection”和“Accept”,但没有“Host”值。
我如何在没有此值的情况下使我的虚拟主机工作?
我正在使用gin-gonic/gin

这是一个 HTTP/1.x 还是 HTTP/2 请求? - Vasiliy Faronov
http/1.x 不是 http2。 - Andrew Arrow
1个回答

8

在Golang的HTTP文档中提到:

对于传入的请求,主机头将被提升为Request.Host字段并从Header映射中删除。

因此,您可以通过访问来获取主机

http.Request.Host

查看此处的详细信息:https://golang.org/pkg/net/http/


谢谢你的帮助!太烦人了,他们不将这视为正常的http头。它是静默的,很难弄清楚,直到你在网上找到正确的答案。 - thebiggestlebowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接