我怎样才能得到用户的公网IP,如果我的服务器是在路由器后面?
我尝试着:
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
但我得到的是路由器的网关。
显然, REMOTE_ADDR
不会在我的情况,并没有将工作HTTP_X_FORWARDED_FOR
。
如何获得用户的公网IP在我的情况下,任何的想法?
谢谢。