NET7下取客户IP

NET7下取客户IP

WEB层建立以下类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//控制器中直接用即可取IP   ViewBag.ip = HttpContext.GetClientIP();
  public static class HttpContextExtension
 {
     public static string GetClientIP(this HttpContext context)
     {
         var ip = context.Request.Headers["Cdn-Src-Ip"].FirstOrDefault();
         if (!string.IsNullOrEmpty(ip))
             return IpReplace(ip);
 
         ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault();
         if (!string.IsNullOrEmpty(ip))
             return IpReplace(ip);
 
         ip = context.Connection.RemoteIpAddress.ToString();
 
         return IpReplace(ip);
     }
 
     static string IpReplace(string inip)
     {
         //::ffff:
         //::ffff:192.168.2.131 这种IP处理
         if (inip.Contains("::ffff:"))
         {
             inip = inip.Replace("::ffff:", "");
         }
         return inip;
     }
 }

  

posted @   牛腩  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示