C#.NET IP地址工具类WebAPI服务器使用
C#.NET IP地址工具类WebAPI服务器使用C# Code:
/// <summary>
/// IP地址工具类
/// </summary>
public static class IPHelper
{
/// <summary>
/// 获取IP地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetIPAddress(HttpRequestMessage request)
{
string ip = "";
if (request.Properties.ContainsKey("MS_OwinContext"))
{
ip = ((OwinContext)request.Properties["MS_OwinContext"]).Request.RemoteIpAddress;
}
else if (request.Properties.ContainsKey("MS_HttpContext"))
{
ip = ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
}
else if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
ip = ((RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name]).Address;
}
if (ip == "::1") ip = "127.0.0.1";
if (string.IsNullOrEmpty(ip) || !IsIP(ip))
return "127.0.0.1";
else
return ip;
}
/// <summary>
/// 获取IP地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetIPAddress(HttpRequest request)
{
string result = String.Empty;
result = request.ServerVariables["HTTP_CDN_SRC_IP"];
if (string.IsNullOrEmpty(result))
result = request.ServerVariables["REMOTE_ADDR"];
if (string.IsNullOrEmpty(result))
result = request.UserHostAddress;
if (string.IsNullOrEmpty(result) || !IsIP(result))
return "127.0.0.1";
return result;
}
/// <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?)$");
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// IP地址工具类
/// </summary>
public static class IPHelper
{
/// <summary>
/// 获取IP地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetIPAddress(HttpRequestMessage request)
{
string ip = "";
if (request.Properties.ContainsKey("MS_OwinContext"))
{
ip = ((OwinContext)request.Properties["MS_OwinContext"]).Request.RemoteIpAddress;
}
else if (request.Properties.ContainsKey("MS_HttpContext"))
{
ip = ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
}
else if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
ip = ((RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name]).Address;
}
if (ip == "::1") ip = "127.0.0.1";
if (string.IsNullOrEmpty(ip) || !IsIP(ip))
return "127.0.0.1";
else
return ip;
}
/// <summary>
/// 获取IP地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetIPAddress(HttpRequest request)
{
string result = String.Empty;
result = request.ServerVariables["HTTP_CDN_SRC_IP"];
if (string.IsNullOrEmpty(result))
result = request.ServerVariables["REMOTE_ADDR"];
if (string.IsNullOrEmpty(result))
result = request.UserHostAddress;
if (string.IsNullOrEmpty(result) || !IsIP(result))
return "127.0.0.1";
return result;
}
/// <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?)$");
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
参考文档:
ASP.NET WebApi框架异步实现MultipartContent方式上传文件
C#.NET IP端口绑定SSL证书支持HTTPS协议(用于Win服务自承载WebApi服务器) - C/S框架网原创
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
CSFramework.WebapiV3(.NET7/NetCore) 系统安全及Token令牌介绍|C/S开发框架
WebApi NETCore框架 | APIProviderFactory 调用WebApi接口|C/S开发框架
1.1 什么是ASP.NET / WebAPI / MVC?|C/S开发框架
.Net开发服务器服务端应用程序 - WebApi后端开发框架
微信小程序后端框架 | C# ASP.NET服务端WebApi快速开发框架平台
WebApi快速开发框架,C# ASP.NET后端开发平台
C# ASP.NET WebApi服务器搭建详解 - Win服务承载(Windows Service Hosting宿主)
C# ASP.NET WebApi服务器搭建详解 - 自承载(Self Hosting)
C# ASP.NET WebApi服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)
C#.NET MVC WebApi后台开发框架入门完整版下载
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
ASP.NET WebApi框架异步实现MultipartContent方式上传文件
C#.NET IP端口绑定SSL证书支持HTTPS协议(用于Win服务自承载WebApi服务器) - C/S框架网原创
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
CSFramework.WebapiV3(.NET7/NetCore) 系统安全及Token令牌介绍|C/S开发框架
WebApi NETCore框架 | APIProviderFactory 调用WebApi接口|C/S开发框架
1.1 什么是ASP.NET / WebAPI / MVC?|C/S开发框架
.Net开发服务器服务端应用程序 - WebApi后端开发框架
微信小程序后端框架 | C# ASP.NET服务端WebApi快速开发框架平台
WebApi快速开发框架,C# ASP.NET后端开发平台
C# ASP.NET WebApi服务器搭建详解 - Win服务承载(Windows Service Hosting宿主)
C# ASP.NET WebApi服务器搭建详解 - 自承载(Self Hosting)
C# ASP.NET WebApi服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)
C#.NET MVC WebApi后台开发框架入门完整版下载
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
