如何在Go中的Google App Engine Standard上部署RemoteAddr(远程IP地址)

时间:2018-01-08 19:16:03

标签: google-app-engine go

我想获取客户端/浏览器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?

1 个答案:

答案 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