NET7下取客户IP
NET7下取客户IP
WEB层建立以下类:
//控制器中直接用即可取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;
}
}
撸码:复制、粘贴,拿起键盘就是“干”!!!

浙公网安备 33010602011771号