博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET 的IP帮助类
阅读量:5886 次
发布时间:2019-06-19

本文共 1324 字,大约阅读时间需要 4 分钟。

个人网站地址: 

ASP.NET 的IP帮助类

在Web开发中会出现需要调用客户IP的方法; 一般调用方法就是使用Request函数来获取;

代码如下

HttpContext.Current.Request.UserHostAddress.ToString()

不过想要放获取方法变得高大上一点的话还是得需要自己写一个IP帮助类;以下是代码

public class IPHelp{#region IP地址互转整数/// /// 将IP地址转为整数形式/// /// 
整数
public static long IP2Long(IPAddress ip){int x = 3;long o = 0;foreach (byte f in ip.GetAddressBytes()){o += (long)f << 8 * x--;}return o;}/// /// 将整数转为IP地址/// ///
IP地址
public static IPAddress Long2IP(long l){byte[] b = new byte[4];for (int i = 0; i < 4; i++){b[3 - i] = (byte)(l >> 8 * i & 255);}return new IPAddress(b);}#endregion/// /// 获得客户端IP/// 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();elseip = HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();if (ip.Length > 15)isErr = true;else{temp = ip.Split('.');if (temp.Length == 4){for (int i = 0; i < temp.Length; i++){if (temp[i].Length > 3) isErr = true;}}elseisErr = true;}}catch { isErr = false; } if (isErr)return "1.1.1.1";elsereturn ip;}}}

需要调用来源IP的时候直接 调用ClientIP属性即可

var ipaddr =IPHelp.ClientIP;

代码下载地址:

原文地址:

转载于:https://www.cnblogs.com/wcgsir/p/6169860.html

你可能感兴趣的文章
jetty9系列之应用部署
查看>>
我的友情链接
查看>>
Linux:linux压缩文件解析
查看>>
OSChina 周四乱弹 ——解读揭秘动弹惨案
查看>>
Java程序员集合框架面试题
查看>>
双飞翼布局和常见三角
查看>>
[10秒学会] - iOS 网络检测(如需要更详细 请用Reachability)
查看>>
理解Golang包导入
查看>>
category && extension 介绍
查看>>
Keil5可以打开Keil4的Project
查看>>
IntelliJ IDEA 2018.1.3 + jdk1.8 安装教程
查看>>
命令行输出java版本与环境变量配置的不一样问题解决
查看>>
你们终于喊出自己就是公有云了?
查看>>
帝国的征程——一个国家如何获得五大流氓的地位[转]
查看>>
Spring Security教程之自定义Spring Security默认的403页面
查看>>
WebMagic使用说明-基本的爬虫
查看>>
前嗅网络的ForeLib数据库介绍
查看>>
exchange 中继
查看>>
电脑蓝屏修复过程
查看>>
vmware ESXI 之重新注册虚拟机
查看>>