Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เราจะรับที่อยู่ IP ของลูกค้าใน ASP.NET MVC C# ได้อย่างไร


ทุกเครื่องบนเครือข่ายมีตัวระบุที่ไม่ซ้ำกัน เช่นเดียวกับที่คุณจะเขียนจดหมายเพื่อส่งทางไปรษณีย์ คอมพิวเตอร์ใช้ตัวระบุเฉพาะเพื่อส่งข้อมูลไปยังคอมพิวเตอร์เฉพาะบนเครือข่าย เครือข่ายส่วนใหญ่ในปัจจุบัน รวมทั้งคอมพิวเตอร์ทุกเครื่องบนอินเทอร์เน็ต ใช้โปรโตคอล TCP/IP เป็นมาตรฐานในการสื่อสารบนเครือข่าย ในโปรโตคอล TCP/IP ตัวระบุเฉพาะสำหรับคอมพิวเตอร์เรียกว่า IPaddress

การใช้คุณสมบัติ 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 ของลูกค้าใน ASP.NET MVC C# ได้อย่างไร

เนื่องจากเรากำลังเรียกใช้แอปพลิเคชันในเครื่อง ที่อยู่ IP สำหรับ localhost คือ ::1.ชื่อ localhost ปกติจะแก้ไขเป็นที่อยู่ IPv4 loopback 127.0.0.1 และไปยังที่อยู่ IPv6 loopback ::1