プログラムメモ

ちょっとしたサンプルや備忘録的な何かをメモ。

asp.net クライアントIPアドレスの取得

System.Web.HttpContext.Current.Request.UserHostAddress
を使うとアドレス情報がIPv6で取れてしまう。

以下の方法でIPv4形式で取得可能。

*****************************

string ipa = "";
System.Net.IPHostEntry iphEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());

foreach (var ipAddr in iphEntry.AddressList)
{
    if (ipAddr.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
    {
        ipa = ipAddr.ToString();
        break;
    }
}

 

長い。