ホスト名からIPアドレス、IPアドレスからホスト名を取得(C#)(F#)
Dns.GetHostByName()及びDns.GetHostByAddressを使用したドキュメントが多く公開されているが、
これらは、.NET Framework 2.0以降、obsoleted(旧式)となっており、
代わりに、現在はSystem.Net.Dns.GetHostEntryの使用が推奨されています。
C#サンプル
using System; using System.Net; namespace Example { class Program { static void Main(string[] args) { var hostName = "www.kame.net"; Console.WriteLine(string.Format("{0}のIPアドレスは", hostName)); foreach (var a in Dns.GetHostEntry(hostName).AddressList) { Console.WriteLine(string.Format("({0}) {1}", a.AddressFamily, a.ToString())); } Console.WriteLine(""); var ipStr = "203.178.141.194"; var info = Dns.GetHostEntry(ipStr); Console.WriteLine(string.Format("{0} のホスト名は", ipStr)); Console.WriteLine(string.Format("{0}", info.HostName)); Console.WriteLine(""); Console.WriteLine("何かのキーを押してください。"); Console.ReadKey(); } } }
F#サンプル
open System open System.Net let hostName = "www.kame.net"; printfn "%sのIPアドレスは" hostName for a in Dns.GetHostEntry(hostName).AddressList do a.AddressFamily.ToString() |> printf "%s " a.ToString() |> printfn "%s" printfn "" let ipStr = "203.178.141.194"; let info = Dns.GetHostEntry(ipStr); printfn "%s のホスト名は%s" ipStr info.HostName printfn "" printfn "何かのキーを押してください。" Console.ReadKey() |> ignore