ASP.NET Core获取客户端IP地址

Posted zhouxiaoyun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET Core获取客户端IP地址相关的知识,希望对你有一定的参考价值。

1、在ConfigureServices注入IHttpContextAccessor

            // ASP.NET Core 2.1的注入方式
            //services.AddHttpContextAccessor();
            //services.TryAddSingleton<IActionContextAccessor, ActionContextAccessor>();

            // 注入
            services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();

2、控制器里获取IP

        private readonly IHttpContextAccessor _accessor;

        public HomeController(IHttpContextAccessor accessor)
        {
            _accessor = accessor;
        }

        public IActionResult Index()
        {
            // 获取客户端的IP
            string ip = _accessor.HttpContext.Connection.RemoteIpAddress.ToString();
            return View();
        }

3、页面里获取IP

@inject Microsoft.AspNetCore.Http.IHttpContextAccessor HttpContextAccessor
@{
    ViewData["Title"] = "Privacy Policy";
}
<h1>@ViewData["Title"]</h1>

<p>客户端IP:@HttpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString().</p>

 

以上是关于ASP.NET Core获取客户端IP地址的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 3.1 - 如何获取客户端的 IP 地址?

当服务器位于 AWS ELB 之后时,ASP.NET Core MVC 应用程序如何获取客户端 IP 地址?

在 ASP.NET Core 2.2 中获取客户端的 IP 地址

ASP.NET Core:如何获取远程 IP 地址?

如何在 ASP.NET Core 2.1 中获取客户端 IP 地址

在 ASP.NET CORE Web API 中获取客户端 IP 地址有问题吗?