asp.net 获取客户端IP

作者:绝地苍狼

         最近有54淘客的网友问我asp.net怎么样获取客户端的IP地址,asp.net怎么样判断是否是IP地址。这里我把我常用的获取客户端IP地址的方法和检查是否是IP地址的方法贴出来给大家分享,希望对各位网友有帮助.

 

复制代码
/// <summary>
/// 获取IP地址
/// </summary>
/// <returns></returns>
public static string GetIP()
{
string userHostAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
if (string.IsNullOrEmpty(userHostAddress))
{
userHostAddress
= HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
if (string.IsNullOrEmpty(userHostAddress))
{
userHostAddress
= HttpContext.Current.Request.UserHostAddress;
}
if (!string.IsNullOrEmpty(userHostAddress) && IsIP(userHostAddress))
{
return userHostAddress;
}
return "127.0.0.1";
}

/// <summary>
/// 检查IP地址格式
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public static bool IsIP(string ip)
{
return System.Text.RegularExpressions.Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
}
复制代码

 

 

 

     以上代码都是我在项目中一直用的,各位可以放心使用,如果有错误的话,你可以及时提出来,大家讨论学习。更多内容尽在www.54talk.cn

posted @   comeonfyz  阅读(2444)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示