获取客户端的IP地址
#region public static string GetClientIP() 获取客户端的IP地址/// <summary>/// 获取客户端的IP地址/// </summary>/// <returns></returns>public static string GetClientIP(){string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];if (!string.IsNullOrEmpty(result)){//可能有代理 if (result.IndexOf(".", StringComparison.Ordinal) == -1)//没有"."肯定是非IPv4格式 result = null;else{if (result.IndexOf(",", StringComparison.Ordinal) != -1){//有",",估计多个代理。取第一个不是内网的IP。 result = result.Replace(" ", "").Replace("", "");string[] temparyip = result.Split(",;".ToCharArray());for (int i = 0; i < temparyip.Length; i++){if (IsIPAddress(temparyip[i]) && temparyip[i].Substring(0, 3) != "10." && temparyip[i].Substring(0, 7) != "192.168" && temparyip[i].Substring(0, 7) != "172.16."){return temparyip[i];//找到不是内网的地址 }}}else if (IsIPAddress(result)) //代理即是IP格式 return result;elseresult = null;//代理中的内容 非IP,取IP }}string ipAddress =(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null &&HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != String.Empty) ? HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] : HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];if (string.IsNullOrEmpty(result))result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];if (string.IsNullOrEmpty(result))result = HttpContext.Current.Request.UserHostAddress;return result;}/// <summary>/// ip判断/// </summary>/// <param name="str1"></param>/// <returns></returns>private static bool IsIPAddress(string str1){if (string.IsNullOrEmpty(str1) || str1.Length < 7 || str1.Length > 15)return false;string regformat = @"^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$";Regex regex = new Regex(regformat, RegexOptions.IgnoreCase);return regex.IsMatch(str1);}#endregion
转载于:https://www.cnblogs.com/sharing1986687846/p/10308382.html
获取客户端的IP地址相关推荐
- 使用JS获取客户端的IP地址
使用JS获取客户端的IP地址 搜狐IP地址查询接口(可设置编码):https://pv.sohu.com/cityjson?ie=utf-8 简单使用: <script src="ht ...
- php如何获取客户端请求ip地址的方法
php如何获取客户端请求ip地址的方法 获取客户端ip地址的函数 获取客户端ip地址的函数 function getip(){$ip = false;if (!empty($_SERVER[" ...
- 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squi...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实 ...
- java获取客户端的IP地址工具类
java获取客户端的IP地址工具类 import java.net.InetAddress; import java.net.UnknownHostException;import javax.ser ...
- PHP获取客户端真实IP地址的方法
php获取客户端IP地址有四种方法,这五种方法分别为 1 2 3 4 REMOTE_ADDR HTTP_CLIENT_IP HTTP_X_FORWARDED_FOR HTTP_VIA REMOTE_A ...
- 获取客户端真实IP地址
Java-Web获取客户端真实IP: 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP. 一般分为两种情况: ...
- asp.net如何获取客户端真实IP地址
目前网上流行的所谓"取真实IP地址"的方法,都有bug,没有考虑到多层透明代理的情况. 多数代码类似: string IpAddress = (HttpContext.Curren ...
- 如何使用JavaScript获取客户端的IP地址?
我需要以某种方式使用JavaScript检索客户端的IP地址: 没有服务器端代码,甚至没有SSI. 但是,我不反对使用免费的第三方脚本/服务. #1楼 在您的页面中包含以下代码: <script ...
- html根据ip和mac地址,关于怎么通过IE浏览器获取客户端的IP地址和Mac地址
在项目开发中,我们经常会使用到客户端的IP地址.Mac地址和电脑名,下面争对IE浏览器获取IP,Mac和电能名的方法: 需要注意的是,要设置IE浏览器能够加载ActiveX控件,否则会组织获取到相关的 ...
最新文章
- SQL自动审核-自助上线平台
- 怎样使破解网页的禁止复制黏贴
- ASP.NET中常用功能代码总结(5)——文件操作篇
- BZOJ 4174 tty的求助 莫比乌斯反演
- 精算模型1 一元生存分析2 参数生存模型
- Windows下的ping
- UVALive 4794 Sharing Chocolate DP
- chap1统计学习及监督学习
- 图解积分法_计算机模拟图解积分法求气相吸收总传质单元数
- 人工智能 倒啤酒问题 python解法
- 自定义UITableView索引动画,实现饿了么菜单效果
- 实训1 构建一个计算列表中位数的函数
- 【分享】一年级古诗古朗月行语文知识点心田花开汇总
- 【locust】通过ip访问失败
- c oracle udt,c#调用Oracle UDT自定义结构数组类型源代码
- 0基础小白,怎么通过这5招玩转网络社群营销?
- vue(emit)、node(promise、 promise封装文件读取)
- UDP GSO原理及应用
- envi与arcgis文件转换_如何用ARCGIS进行图像格式转换
- 12.5亿美金 联想收购IBM PC业务