.NET Core获取请求者真实IP
2024-10-11
36
在.NET Core中,可以通过访问HttpContext中的RemoteIpAddress属性来获取请求者的IP地址。代码示例如下:
public IActionResult MyAction()
{
var remoteIpAddress = HttpContext.Connection.RemoteIpAddress;
return View();
}
需要注意的是,RemoteIpAddress属性返回的是一个IPAddress对象。如果你想要获取IP地址的字符串表示形式,可以调用ToString()方法:
var ipAddressString = HttpContext.Connection.RemoteIpAddress.ToString();
还需要注意的是,如果你的应用程序在反向代理后面运行,RemoteIpAddress属性返回的可能是代理服务器的IP地址,而不是最终请求的IP地址。在这种情况下,可以尝试从HTTP标头中获取客户端IP地址:
var remoteIpAddress = HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault();
if (string.IsNullOrEmpty(remoteIpAddress))
{
remoteIpAddress = HttpContext.Connection.RemoteIpAddress.ToString();
}
这里假设你使用的是X-Forwarded-For标头来传递客户端IP地址。如果你使用的是其他标头,请相应地修改代码。
更新于:2个月前赞一波!2
相关文章
- ASP.NET如何将Views文件夹从项目分离
- .NET C# 读取编辑.AVIF图片文件
- .NET C# SkiaSharp读取.AVIF图片文件报错
- .NET开源ORM FreeSql常见问题和解决方法
- 微软于发布了.NET 9 Release Candidate 2 提高整体质量
- 分享5个开源的.NET Excel读写操作库
- .Net Core中Dapper的使用详解
- ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
- 如何从.NET Framework迁移到.NET Core或.NET 6/7?
- 如何优化ASP.NET Core应用的性能?
- 10款.NET开发中推荐的代码分析和质量工具
- .NET9 Blazor有哪些更新?
- 在Docker、Kubernetes环境下部署.NET应用的最佳实践
- .NET 游戏开发框架有哪些?
- PluginCore 基于 ASP.NET Core 的轻量级插件框架
- .NET C# EntityFramework(EF)连接SQLite代码示例
- Sylvan.Data.Excel 性能优异的开源.NET Excel数据读取库
- ASP.NET Core 中常用的内置中间件
- .NET9 F#有什么新特性?
- .NET 开源 ORM FreeSql 使用教程
文章评论
评论问答