Rubyの配列server_namesがあり、ホスト名が格納されています。印刷すると、次のようになります。Rubyでホスト名からIPアドレスを取得する
["hostname.abc.com", "hostname2.abc.com", "hostname3.abc.com"]
かなり標準です。私がしようとしているのは、それらのサーバのIPを取得することです(別の変数に格納することもあります)。
IPSocketクラスのように見えますが、IPSocketクラスを使って反復処理する方法がわかりません。
server_names.each do |name|
IPSocket::getaddress(name)
p name
end
のようなIPをプリントアウトしようとすると、サーバー名を入力しなかったというエラーが表示されます。これは構文上の問題ですか、それともクラスを正しく使用していないのですか?
出力:
getaddrinfo
方法がどのように機能するかだけだ
getaddrinfo: nodename nor servname provided, or not known
は、あなたが見ているエラーの完全なスタックトレースを含めることはできますか? –
こんにちは@StevenSchobert、返信いただきありがとうございます。あまり含まれていませんが、元の投稿を編集して出力を追加しました。しかしnslookupはIPを解決します。 – mxmxx
あなたのホスト名は有効ですか? 'wget'や' curl'を使って実際に解決できるかどうか試しましたか? – Coolness