#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地址相关推荐

  1. 使用JS获取客户端的IP地址

    使用JS获取客户端的IP地址 搜狐IP地址查询接口(可设置编码):https://pv.sohu.com/cityjson?ie=utf-8 简单使用: <script src="ht ...

  2. php如何获取客户端请求ip地址的方法

    php如何获取客户端请求ip地址的方法 获取客户端ip地址的函数 获取客户端ip地址的函数 function getip(){$ip = false;if (!empty($_SERVER[" ...

  3. 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squi...

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实 ...

  4. java获取客户端的IP地址工具类

    java获取客户端的IP地址工具类 import java.net.InetAddress; import java.net.UnknownHostException;import javax.ser ...

  5. PHP获取客户端真实IP地址的方法

    php获取客户端IP地址有四种方法,这五种方法分别为 1 2 3 4 REMOTE_ADDR HTTP_CLIENT_IP HTTP_X_FORWARDED_FOR HTTP_VIA REMOTE_A ...

  6. 获取客户端真实IP地址

    Java-Web获取客户端真实IP: 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP. 一般分为两种情况: ...

  7. asp.net如何获取客户端真实IP地址

    目前网上流行的所谓"取真实IP地址"的方法,都有bug,没有考虑到多层透明代理的情况. 多数代码类似: string IpAddress = (HttpContext.Curren ...

  8. 如何使用JavaScript获取客户端的IP地址?

    我需要以某种方式使用JavaScript检索客户端的IP地址: 没有服务器端代码,甚至没有SSI. 但是,我不反对使用免费的第三方脚本/服务. #1楼 在您的页面中包含以下代码: <script ...

  9. html根据ip和mac地址,关于怎么通过IE浏览器获取客户端的IP地址和Mac地址

    在项目开发中,我们经常会使用到客户端的IP地址.Mac地址和电脑名,下面争对IE浏览器获取IP,Mac和电能名的方法: 需要注意的是,要设置IE浏览器能够加载ActiveX控件,否则会组织获取到相关的 ...

最新文章

  1. SQL自动审核-自助上线平台
  2. 怎样使破解网页的禁止复制黏贴
  3. ASP.NET中常用功能代码总结(5)——文件操作篇
  4. BZOJ 4174 tty的求助 莫比乌斯反演
  5. 精算模型1 一元生存分析2 参数生存模型
  6. Windows下的ping
  7. UVALive 4794 Sharing Chocolate DP
  8. chap1统计学习及监督学习
  9. 图解积分法_计算机模拟图解积分法求气相吸收总传质单元数
  10. 人工智能 倒啤酒问题 python解法
  11. 自定义UITableView索引动画,实现饿了么菜单效果
  12. 实训1 构建一个计算列表中位数的函数
  13. 【分享】一年级古诗古朗月行语文知识点心田花开汇总
  14. 【locust】通过ip访问失败
  15. c oracle udt,c#调用Oracle UDT自定义结构数组类型源代码
  16. 0基础小白,怎么通过这5招玩转网络社群营销?
  17. vue(emit)、node(promise、 promise封装文件读取)
  18. UDP GSO原理及应用
  19. envi与arcgis文件转换_如何用ARCGIS进行图像格式转换
  20. 12.5亿美金 联想收购IBM PC业务

热门文章

  1. python中common在哪个模块导入_python的常用模块之collections模块详解
  2. 简单的java程序代码带注释,Java:基于注释的代码注入的简单技术?
  3. Java从FTP网盘读取文件
  4. SQLi LABS Less 16 布尔盲注
  5. SQLi LABS Less-18
  6. C#下拉列表绑定数据库的使用三层实现
  7. ionic3使用第三方图标
  8. (转)Centos7 Nginx安装
  9. eclipse字体颜色设置
  10. Spring管理Hibernate