我想获取客户端/浏览器IP 地址,以便对我的Google App Engine Standard / Go网络应用中未经身份验证的客户进行评级。
在部署的应用中r.RemoteAddr
返回空字符串。
枚举请求标头(r.Header [string][]string
)仅提供以下条目。
Content-Length
X-Appengine-Citylatlong
X-Appengine-Region
Upgrade-Insecure-Requests
Accept-Language
X-Cloud-Trace-Context
X-Appengine-Country
X-Appengine-City
Host
Cache-Control
Origin
Content-Type
Referer
User-Agent
Accept
没有IP地址。
您如何获得客户端IP?
答案 0 :(得分:0)
在Google App Engine r.RemoteAddr
确实会返回IP地址(我的错误)。尽管如此other recommendations
ip, _, err := net.SplitHostPort(r.RemoteAddr)
实际返回错误:
address 2601:645:8101:7784:7112:5258:8ba3:c888: too many colons in address
且没有IP地址。
请勿使用net.SplitHostPort
,否则您将获得IPv6地址。
我已使用Google登录an issue。