如何在 ASP.NET MVC C# 中获取客户端的 IP 地址?


网络上的每台机器都有一个唯一的标识符。就像你给寄出的信件写地址,计算机在网络中使用唯一的标识符来向特定计算机发送数据。如今大多数网络,包括互联网上的所有计算机,都使用 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;
      }
   }
}

输出

由于我们本地运行应用程序,localhost 的 IP 地址为 ::1。本地主机名称通常解析为 IPv4 环回地址 127.0.0.1 和 IPv6 环回地址 ::1

更新于: 2020 年 9 月 24 日

3K+ 次浏览

开启你的 职业

通过完成课程获得认证

开始
广告
© . All rights reserved.