我正在尝试获取服务器的IP地址,运行我的应用程序的位置。在PHP中存在名为GetHostByName()
的函数(或类似的东西),Ruby的替代方法是什么?
答案 0 :(得分:3)
你可以使用它(不需要shell):
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
输出:
# irb:0> local_ip
# => "192.168.0.1"
我使用此功能,但功劳归于:http://coderrr.wordpress.com/2008/05/28/get-your-local-ip-address/