アプリを実行しているサーバーの 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 に答える