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

问题描述:

I'm printing out all the headers and I get:

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]]

which means my browser is sending "Cookie", "User-Agent", "Accept-Language", "Accept-Encoding", "Connection", and "Accept" but there is no "Host" value.

How can I get my https://en.wikipedia.org/wiki/Virtual_hosting working without this value?

I'm using https://github.com/gin-gonic/gin

我正在打印所有标题,然后得到: p>

 地图[Cookie:[_ ga = GA1.2.843429125.1462575405]用户代理:[Mozilla / 5.0 
(Macintosh; Intel Mac OS X 10_11_3)AppleWebKit / 601.4.4(KHTML,例如Gecko)
Version / 9.0。  3 Safari / 601.4.4]接受语言:[zh-cn] 
Accept-Encoding:[gzip,deflate]连接:[keep-alive] 
Accept:[text / html,application / xhtml + xml,application / xml  ; q = 0.9,* / *; q = 0.8]] 
  code>  pre> 
 
 

表示我的浏览器正在发送“ Cookie”,“ User-Agent”,“ Accept- 语言”,“接受编码”,“连接”和“接受”,但没有“主机”值。 p>

如何获取我的 https://en.wikipedia.org/wiki/Virtual_hosting 在没有此值的情况下可以正常工作吗? p>

我正在使用 https://github.com/gin-gonic/gin p> div>

It stated on Golang http docs :

For incoming requests, the Host header is promoted to the Request.Host field and removed from the Header map.

So you can get the host by access

http.Request.Host

Check here for details : https://golang.org/pkg/net/http/