在ASP.NET中获取客户端IP地址

时间:2020-07-22 14:41:33

标签: c# asp.net http

如何获取客户端的IP地址?当我使用T!时会得到类似[:: 1]:12473

当我使用HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]时,我会不断得到:: 1

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"];
}