在 ASP .NET Core 中,可以使用以下代码获取用户的 IP 地址:
public string GetUserIp(HttpContext context)
{
string ip = context.Connection.RemoteIpAddress.ToString();
if (ip == "::1")
{
ip = "127.0.0.1";
}
return ip;
}
这里使用 HttpContext 对象来获取用户的 IP 地址。而 RemoteIpAddress 属性可以获取远程客户端 IP 地址。
需要注意的是,RemoteIpAddress 返回的是一个 IP 地址对象,需要通过 ToString() 方法将其转换成字符串格式。
另外,在本地测试时 RemoteIpAddress 可能会返回 "::1",这代表本机 IPv6 地址,需要将其转换成 IPv4 地址 "127.0.0.1"。