当前位置:  开发笔记 > 后端 > 正文

如何使用Rails获取客户端IP和服务器IP

如何解决《如何使用Rails获取客户端IP和服务器IP》经验,为你挑选了2个好方法。

任何人都可以帮助如何使用Ruby on Rails获取客户端IP和服务器IP?



1> karim79..:

从您的控制器:

request.remote_ip

如果你在mongrel前面使用apache,那么remote_ip将返回请求的源地址,在这种情况下,它将是本地主机,因为Apache Web服务器正在发出请求,所以请将它放在你的控制器中:

@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]

要获取服务器IP,请参阅:

在Ruby on Rails中获取主机名或IP



2> Senthil Kuma..:

谢谢:karim79和Titanous.

在Controller中编写代码

对于客户IP:

request.remote_ip

@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]

对于服务器IP:

require 'socket'

def local_ip
  orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true  # turn off reverse DNS resolution temporarily

  UDPSocket.open do |s|
    s.connect '64.233.187.99', 1
    s.addr.last
  end
ensure
  Socket.do_not_reverse_lookup = orig
end

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有