如何在 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.