C# 获取用户IP地址
我有一个具有登录名的web应用程序。现在我想要的是在登录时获取最终用户的IP地址。我尝试过研究,但根据我的理解,它得到的是我机器的ip,而不是登录的人。此应用已部署在服务器上。如果我照他们说的做,我会得到服务器的ip地址。但是我想要登录的最终用户的IP地址 这是我所看到的一个例子C# 获取用户IP地址,c#,asp.net,ip-address,C#,Asp.net,Ip Address,我有一个具有登录名的web应用程序。现在我想要的是在登录时获取最终用户的IP地址。我尝试过研究,但根据我的理解,它得到的是我机器的ip,而不是登录的人。此应用已部署在服务器上。如果我照他们说的做,我会得到服务器的ip地址。但是我想要登录的最终用户的IP地址 这是我所看到的一个例子 private string GetIP() { string strHostName = ""; strHostName = System.Net.Dns.GetHostName(); IP
private string GetIP()
{
string strHostName = "";
strHostName = System.Net.Dns.GetHostName();
IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);
string ipaddress =convert.tostring(ipEntry.AddressList[2]);
return ipaddress.tostring();
}
我不确定我是否理解正确,但我认为这将获得本地ip地址,而不是登录的最终用户的ip地址。如果我错了,请纠正我。有什么想法吗?谢谢 使用-
HttpContext.Current.Request.UserHostAddress
对于from Request.ServerVariables,可以使用REMOTE_ADDR和HTTP_X_FORWARDED_ UserHostAddress属性只是远程_ADDR服务器变量的包装器。因此,如果您的用户位于代理或路由器后面,则只返回一个IP地址,即代理或路由器的IP地址 红色: stackoverflow中还有另一个线程:请尝试两种方法:
HttpContext.Current.Request.UserHostAddress;
或
可能重复的
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];