如何获取客户端的IP地址?当我使用T!
时会得到类似[:: 1]:12473
当我使用HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
时,我会不断得到:: 1
答案 0 :(得分:2)
在本地运行代码时,会得到:: 1(localhost)。 如果发布到Azure,则应该获得正确的IP地址。
您也可以通过检查HTTP_X_FORWARDED_FOR标头来扩展代码。当涉及代理和/或负载平衡器时,这将返回正确的客户端IP地址。
string ipAddress = HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ipAddress))
{
ipAddress = HttpContext.Request.ServerVariables["REMOTE_ADDR"];
}