最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
C# 获取IP及判断IP是否在区间
时间:2022-06-25 07:53:06 编辑:袖梨 来源:一聚教程网
代码如下 | 复制代码 |
/// /// 获取客户端IP /// /// publicstaticstringGetClientIpAddress() { var httpContext = HttpContext.Current; if(httpContext.Request.ServerVariables ==null) { returnnull; } var clientIp = httpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? httpContext.Request.ServerVariables["REMOTE_ADDR"]; try { foreach(var hostAddressinDns.GetHostAddresses(clientIp)) { if(hostAddress.AddressFamily == AddressFamily.InterNetwork) { returnhostAddress.ToString(); } } foreach(var hostAddressinDns.GetHostAddresses(Dns.GetHostName())) { if(hostAddress.AddressFamily == AddressFamily.InterNetwork) { returnhostAddress.ToString(); } } } catch(Exception ex) {
} returnclientIp; } /// /// ip是否在ip空间内 /// /// /// /// publicstaticBoolean ipExistsInRange(String ip, String ipSection) { ipSection = ipSection.Trim(); ip = ip.Trim(); intidx = ipSection.IndexOf('-'); String beginIP = ipSection.Substring(0, idx); String endIP = ipSection.Substring(idx + 1); returngetIp2long(beginIP) <= getIp2long(ip) && getIp2long(ip) <= getIp2long(endIP);
} publicstaticlonggetIp2long(String ip) { ip = ip.Trim(); String[] ips = ip.Split('.'); longip2long = 0L; for(inti = 0; i < 4; ++i) { ip2long = ip2long << 8 | Int64.Parse(ips[i]); } returnip2long; } publicstaticlonggetIp2long2(String ip) { ip = ip.Trim(); String[] ips = ip.Split('.'); longip1 = Int64.Parse(ips[0]); longip2 = Int64.Parse(ips[1]); longip3 = Int64.Parse(ips[2]); longip4 = Int64.Parse(ips[3]); longip2long = 1L * ip1 * 256 * 256 * 256 + ip2 * 256 * 256 + ip3 * 256 + ip4; returnip2long; } |
相关文章
- 我的世界附魔等级上限怎么修改指南 高等级武器附魔教程 04-27
- 我的世界蜜蜂怎么养殖 蜂蜜获取途径一览 04-27
- 开放空间琳怎么培养 开放空间琳泽西培养攻略大全 04-27
- 我的世界基础物品合成大全 实用道具制作指南 04-27
- 我的世界瞬间伤害药水怎么制作 强力战斗药水配方介绍 04-27
- 开放空间诗怎么培养 开放空间诗歌爱瑠培养攻略大全 04-27