代码之家  ›  专栏  ›  技术社区  ›  tinybluerobot

清漆4 VCL类型转换?

  •  -1
  • tinybluerobot  · 技术社区  · 10 年前

    我正在使用Varnish4和geoip vmod,我正在尝试使用 client.ip 作为字符串。

    geoip.country_code(client.ip);
    

    执行此操作时,我会遇到错误 Wrong argument type. Expected STRING. Got IP.

    如果我真的想,我可以做一些像

    set req.http.X-Client-IP = client.ip;
    geoip.country_code(req.http.X-Client-IP);
    

    问题会消失,但这似乎不是一个干净的实现。

    有回去的路吗 客户端.ip 作为字符串而不是类型 IP 这不涉及设置另一个变量,或者这是正确的方法吗?

    作为备注,我不想使用 req.http.X-Forwarded-For 因为我正在测试我是否使用该vs 客户端.ip .

    1 回复  |  直到 10 年前
        1
  •  2
  •   tinybluerobot    10 年前

    事实证明,您只需用空白字符串进行连接即可返回字符串。

    set req.http.X-Country-Code = geoip.country_code("" + client.ip);