ASP.NET 的IP帮助类
个人网站地址: https://www.lesg.cn/netdaima/net/2016-239.html
ASP.NET 的IP帮助类
在Web开发中会出现需要调用客户IP的方法; 一般调用方法就是使用Request函数来获取;
代码如下
HttpContext.Current.Request.UserHostAddress.ToString()
不过想要放获取方法变得高大上一点的话还是得需要自己写一个IP帮助类;以下是代码
public class IPHelp
{
#region IP地址互转整数
/// <summary>
/// 将IP地址转为整数形式
/// </summary>
/// <returns>整数</returns>
public static long IP2Long(IPAddress ip)
{
int x = ;
long o = ;
foreach (byte f in ip.GetAddressBytes())
{
o += (long)f << * x--;
}
return o;
}
/// <summary>
/// 将整数转为IP地址
/// </summary>
/// <returns>IP地址</returns>
public static IPAddress Long2IP(long l)
{
byte[] b = new byte[];
for (int i = ; i < ; i++)
{
b[ - i] = (byte)(l >> * i & );
}
return new IPAddress(b);
}
#endregion
/// <summary>
/// 获得客户端IP
/// </summary>
public static string ClientIP
{
get
{
bool isErr = false;
string ip = "127.0.0.1";
try
{ string[] temp;
if (HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
else
ip = HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();
if (ip.Length > )
isErr = true;
else
{
temp = ip.Split('.');
if (temp.Length == )
{
for (int i = ; i < temp.Length; i++)
{
if (temp[i].Length > ) isErr = true;
}
}
else
isErr = true;
}
}
catch { isErr = false; } if (isErr)
return "1.1.1.1";
else
return ip;
}
}
}
需要调用来源IP的时候直接 调用ClientIP属性即可
var ipaddr =IPHelp.ClientIP;
代码下载地址:http://lesg.cn/downs/161209/IPHelp.zip
原文地址:https://www.lesg.cn/netdaima/net/2016-239.html
ASP.NET 的IP帮助类的更多相关文章
- ASP.NET根据IP获取省市地址
1.在网站的跟路径下面添加 QQWry.dat 文件,这个文件是IP数据库文件 2.添加以下一个类 IPScanner C# 代码 复制 public class IPScanner { ...
- 谢欣伦 - OpenDev原创教程 - 本地IP查找类CxLocalHostIPAddrFind
这是一个精练的本地IP查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxLocalHostIPAddrFind的使用如下: ...
- IP工具类-自己动手做个ip解析器
IP工具类-自己动手做个ip解析器 一.资料准备 导入依赖包:
- 一点ASP.NET MVC Html.Helper类的方法
一点ASP.NET MVC Html.Helper类 这里就只写一个Html.ActionLink()和Html.DropdownList(). Html.ActionLink()里有三个参数,第一个 ...
- 通过ASP禁止指定IP和只允许指定IP访问网站的代码
过ASP禁止指定IP和只允许指定IP访问网站的代码,需要的朋友可以参考下. 一.禁止指定IP防问网站,并执行相应操作: 代码如下: <% Dim IP,IPString,VisitIP '设置I ...
- asp.net获取ip地址的方法
在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的I ...
- ASP无惧上传类不能上传中文双引号文件及ASP函数InStr存在bug
ASP无惧上传类不能上传中文双引号文件及ASP函数InStr存在bug 近日发现eWebEditor V2.8 asp 版本上传文件文件名不能包含中文双引号,发现eWebEditor使用ASP“无惧上 ...
- IP工具类
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletReques ...
- Socket网络编程(TCP/IP/端口/类)和实例
Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次 ...
随机推荐
- 用python实现的百度新歌榜、热歌榜下载器
首先声明,本工具仅仅为学习之用,不涉及版权问题,因为百度音乐里面的歌曲本身是可以下载的,而且现在百度也提供了”百度音乐播放器”,可以通过这个工具进行批量下载. 我当时做这个工具的时候,百度还没有提供” ...
- Log4Net指南
英文好的直接看这里:http://www.codeproject.com/Articles/140911/log4net-Tutorial 介绍 log4net.是.NET下面最伟大的日志工具之一.简 ...
- webservice4
原理: 参考 http://lvwenwen.iteye.com/blog/1478236 客户端通过get请求可以得到wsdl文件,也就知道服务器提供的方法和参数了,然后客户端会通过webservi ...
- jQuery 滚动条 滚动到底部(下拉到底部) 加载数据(触发事件、处理逻辑)、分页加载数据
1.针对浏览器整个窗口滚动 主要代码: <script type="text/javascript"> ; function GetProductListPageFun ...
- unity生成的WP8.1工程的Title本地化实现
不同于WP本身工程的实现,unity的工程在package.appxmanifest文件中已经定义了 <Resources> <Resource Language="x-g ...
- mysql基础知识扫盲
本篇主要介绍关于mysql的一些非常基础的知识,为后面的sql优化做准备. 一:连接mysql 关于mysql的下载和安装我在这里就不说了,第一步我们要连接我们的mysql服务器,打开cmd命令切换到 ...
- 体验Visual Studio 2015 Windows Forms应用程序开发与维护
昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了.北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将 ...
- 一次意外的X锁不阻塞问题
最近有一个朋友问我一个关于给查询操作强制上X锁却不阻塞的问题.该查询写在一个存储过程中,代码如代码1所示: 1: create PROC [dbo].[GetCityOrders] 2: @c ...
- 国内第一部C#.Net调用Matlab混合编程视频教程
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 Matlab和C#混合编程文章目录:[目录]Matlab和C#混合编程文章目录 一.视频说明 2014年的5.1,我将这套视频教 ...
- Suse碎碎念
1. 如何查看Suse的版本号 vmpbos01:~ # lsb_release -d Description: SUSE Linux Enterprise Server 11 (x86_64) vm ...