Asp.net获取客户端的IP地址排除::1
2013-09-24 11:23
337 查看
public static string GetClientIPv4Address()
{
string ipv4 = String.Empty;
foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
if (ipv4 != String.Empty)
{
return ipv4;
}
// 利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 纪录,
// 再逐一判断何者为 IPv4 协议,即可转为 IPv4 位址。
foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList)
//foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
return ipv4;
}
public static string GetClientIP()
{
if (null == HttpContext.Current.Request.ServerVariables["HTTP_VIA"])
{
return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
else
{
return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
}
{
string ipv4 = String.Empty;
foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
if (ipv4 != String.Empty)
{
return ipv4;
}
// 利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 纪录,
// 再逐一判断何者为 IPv4 协议,即可转为 IPv4 位址。
foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList)
//foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
return ipv4;
}
public static string GetClientIP()
{
if (null == HttpContext.Current.Request.ServerVariables["HTTP_VIA"])
{
return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
else
{
return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
}
相关文章推荐
- 获取客户端IP地址 for ASP.NET
- ASP.NET获取真正的客户端IP地址的6种方法
- ASP.NET获取真正的客户端IP地址的6种方法
- ASP.NET获取客户端IP地址
- asp.net 获取客户端浏览器访问的IP地址的实例代码
- ASP.NET获取真正的客户端IP地址的6种方法
- asp.net 获取客户端ip地址
- asp.net中获取客户端ip地址的两种方法
- ASP.NET 获取客户端IP地址
- 【ASP.NET开发】获取客户端IP地址 via C#
- asp.net中获取客户端ip地址的两种方法
- ASP.NET获取真正的客户端IP地址的6种方法
- asp.net 获取客户端浏览器,ip地址,操作系统信息
- [导入]ASP.NET获取客户端IP地址的几点补充[转载]
- 负载均衡的场景下ASP.NET Core如何获取客户端IP地址
- ASP.NET获取客户端IP地址、系统版本、浏览器版本
- DotnetCore asp.net Core 获取客户端的IP地址以及端口号
- ASP.NET获取客户端IP地址相关方法
- ASP.NET获取客户端IP地址
- asp.net中获取客户端ip地址的两种方法