【发布时间】:2013-07-12 20:12:06
【问题描述】:
我希望在 Ruby on Rails 应用程序中解析远程客户端的主机名。
我知道Request.remote_ip 会给我客户的 IP 地址,但我如何将其转换为他们的主机名?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2
我希望在 Ruby on Rails 应用程序中解析远程客户端的主机名。
我知道Request.remote_ip 会给我客户的 IP 地址,但我如何将其转换为他们的主机名?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2
我想通了!
这是我在 ApplicationHelper 中放入的一个方法:
def remote_hostname
require 'resolv'
Resolv.getname(request.remote_ip)
end
就这么简单!
【讨论】:
如下尝试;
require 'socket'
host = Socket.gethostname
或者你可以简单地做;
`hostname`.strip # Get the hostname from the shell and removing trailing \n
【讨论】: