/// <summary>
/// 获取web客户端ip
/// </summary>
/// <returns></returns>
public
static
string
GetWebClientIp()
{
string
userIP =
"未获取用户IP"
;
try
{
if
(System.Web.HttpContext.Current ==
null
|| System.Web.HttpContext.Current.Request ==
null
|| System.Web.HttpContext.Current.Request.ServerVariables ==
null
)
return
""
;
string
CustomerIP =
""
;
//CDN加速后取到的IP simone 090805
CustomerIP = System.Web.HttpContext.Current.Request.Headers[
"Cdn-Src-Ip"
];
if
(!
string
.IsNullOrEmpty(CustomerIP))
{
return
CustomerIP;
}
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[
"HTTP_X_FORWARDED_FOR"
];
if
(!String.IsNullOrEmpty(CustomerIP))
return
CustomerIP;
if
(System.Web.HttpContext.Current.Request.ServerVariables[
"HTTP_VIA"
] !=
null
)
{
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[
"HTTP_X_FORWARDED_FOR"
];
if
(CustomerIP ==
null
)
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[
"REMOTE_ADDR"
];
}
else
{
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[
"REMOTE_ADDR"
];
}
if
(
string
.Compare(CustomerIP,
"unknown"
,
true
) == 0)
return
System.Web.HttpContext.Current.Request.UserHostAddress;
return
CustomerIP;
}
catch
{ }
return
userIP;
}
/// <summary>
/// 获取本机IP地址
/// </summary>
/// <returns></returns>
public
static
string
GetIpAddress()
{
string
hostName = Dns.GetHostName();
//获取本机名
IPHostEntry localhost = Dns.GetHostByName(hostName);
//方法已过期,可以获取IPv4的地址
IPAddress localaddr = localhost.AddressList[0];
return
localaddr.ToString();
}
第一个是获取客户端IP地址,第二个是获取服务器IP(即部署的本机ip)。