[解決済み] Ruby on Railsでホスト名やIPを取得する
2022-02-15 05:42:27
質問
Ruby on Railsアプリをメンテナンスしているところですが、使用しているマシンのホスト名やIPアドレスを簡単に調べる方法を探しています(VMなので、新しいインスタンスはホスト名やIPアドレスが異なる可能性があるため)。Ruby on Railsでこれを行う迅速かつ簡単な方法はありますか?
編集:以下の回答は正しいのですが、クレイグが提供した明確化は有用です(回答に含まれる提供リンクも参照)。
<ブロッククオート以下のコードは 接続やパケットの送信を行います(宛先は 64.233.187.99はgoogleです)。UDPはステートレスプロトコルなので、connect() 単にシステムコールを行い パケットをどのようにルーティングするか アドレスと インターフェイス(したがってIPアドレス) は、バインドすべき相手先として ファミリ(AF_INET)を含む配列です。 ローカルポート、ローカルアドレス(これは は、私たちが欲しいものです)。
解決方法は?
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.127"
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Ruby on RailsでJSON出力を "きれい "にフォーマットする方法
-
[解決済み】Railsの認証トークンを理解する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン