我有一個存儲主機名的Ruby數組,server_names。如果我打印出來,它看起來像這樣:從Ruby中的主機名獲取IP地址
["hostname.abc.com", "hostname2.abc.com", "hostname3.abc.com"]
漂亮的標準。我想要做的是獲得這些服務器的IP(可能將它們存儲在另一個變量中)。
它看起來像IPSocket類可能會這樣做,但我不知道如何使用IPSocket類來遍歷它。如果它只是試圖打印出如下IP:
server_names.each do |name|
IPSocket::getaddress(name)
p name
end
它抱怨說我沒有提供服務器名稱。這是一個語法問題還是我只是沒有正確使用類?
輸出:
getaddrinfo: nodename nor servname provided, or not known
您可以包括你看到的錯誤的完整堆棧跟蹤? –
嗨@StevenSchobert,謝謝你的回覆。沒有太多要包括,但我編輯了原始帖子以包含輸出。 nslookup確實可以解析IP。 – mxmxx
你確定你的主機名是有效的嗎?你有沒有嘗試過使用'wget'或'curl'來查看它們是否可以真正解決? – Coolness