我正在尝试获取运行我的应用程序的服务器的 IP 地址。在 PHP 中存在被调用的函数GetHostByName()
(或类似的函数),Ruby 的替代方法是什么?
问问题
2293 次
1 回答
3
您可以使用它(不需要外壳):
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/
于 2012-08-21T07:05:16.517 回答