Computer >> Máy Tính >  >> Lập trình >> C#

Làm cách nào để lấy địa chỉ IP của khách hàng trong ASP.NET MVC C #?

Mỗi máy trên mạng đều có một mã định danh duy nhất. Cũng giống như bạn giải quyết một bức thư để gửi trong thư, các máy tính sử dụng mã định danh duy nhất để gửi dữ liệu đến các máy tính cụ thể trên mạng. Hầu hết các mạng ngày nay, bao gồm tất cả các máy tính trên mạng internet, sử dụng giao thức TCP / IP làm tiêu chuẩn cho cách giao tiếp trên mạng. Trong giao thức TCP / IP, số nhận dạng duy nhất cho một máy tính được gọi là Địa chỉ IP của nó.

Sử dụng thuộc tính HttpRequest.UserHostAddress

Ví dụ

using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
   public class HomeController : Controller{
      public string Index(){
         string ipAddress = Request.UserHostAddress;
         return ipAddress;
      }
   }
}

Nếu chúng tôi muốn tìm nạp địa chỉ IP bên ngoài bộ điều khiển, tức là trong một lớp bình thường, chúng tôi có thể thực hiện như bên dưới.

using System.Web;
namespace DemoMvcApplication.Helpers{
   public static class DemoHelperClass{
      public static string GetIPAddress(){
         string ipAddress = HttpContext.Current.Request.UserHostAddress;
         return ipAddress;
      }
   }
}

Ví dụ sử dụng ServerVariables

using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
   public class HomeController : Controller{
      public string Index(){
         string ipAddress = Request.ServerVariables["REMOTE_ADDR"];
         return ipAddress;
      }
   }
}

Đầu ra

Làm cách nào để lấy địa chỉ IP của khách hàng trong ASP.NET MVC C #?

Vì chúng tôi đang chạy ứng dụng cục bộ, địa chỉ ip cho localhost là ::1. Tên localhost thường phân giải thành địa chỉ loopback IPv4 127.0.0.1 và địa chỉ loopback IPv6 ::1