如何在 ASP.NET MVC C# 中获取客户端的 IP 地址?
csharpserver side programmingprogramming更新于 2025/4/14 23:07:17
网络上的每台机器都有一个唯一标识符。就像您在邮件中写明要发送的信件一样,计算机使用唯一标识符将数据发送到网络上的特定计算机。当今大多数网络(包括互联网上的所有计算机)都使用 TCP/IP 协议作为如何在网络上通信的标准。在 TCP/IP 协议中,计算机的唯一标识符称为其 IP 地址。
使用 HttpRequest.UserHostAddress 属性
示例
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ public string Index(){ string ipAddress = Request.UserHostAddress; return ipAddress; } } }
如果我们想在控制器外部(即在普通类中)获取 IP 地址,我们可以像下面这样操作。
using System.Web; namespace DemoMvcApplication.Helpers{ public static class DemoHelperClass{ public static string GetIPAddress(){ string ipAddress = HttpContext.Current.Request.UserHostAddress; return ipAddress; } } }
使用 ServerVariables 的示例
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ public string Index(){ string ipAddress = Request.ServerVariables["REMOTE_ADDR"]; return ipAddress; } } }
输出
由于我们在本地运行应用程序,因此本地主机的 IP 地址为 ::1。名称 localhost 通常解析为 IPv4 环回地址 127.0.0.1,解析为 IPv6 环回地址 ::1