簡單的IPHelper.cs 訪客IP獲取類
簡單的IPHelper.cs 訪客IP獲取類
public class IPHelper { public static string GetVisitorsIPAddress() { string result = String.Empty; result = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; // 如果使用代理,獲取真實IP if (result != null && result.IndexOf(".") == -1) //沒有“.”肯定是非IPv4格式 result = null; else if (result != null) { if (result.IndexOf(",") != -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; else result = null; //代理中的內容 非IP,取IP } if (null == result || result == String.Empty) result = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; if (result == null || result == String.Empty) result = System.Web.HttpContext.Current.Request.UserHostAddress; return result; } /// <summary> /// 判斷是否是IP地址格式 0.0.0.0 /// </summary> /// <param name="str1">待判斷的IP地址</param> /// <returns>true or false</returns> private static bool IsIPAddress(string str1) { if (str1 == null || str1 == string.Empty || 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); } }
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- pomelo獲取客戶端IP客戶端
- 最簡單的C# 獲取 MAC 地址 IP 地址C#Mac
- asp.net 獲取客戶端瀏覽器訪問的IP地址ASP.NET客戶端瀏覽器
- c# 獲取客戶端IPC#客戶端
- 獲取客戶端真實IP客戶端
- 簡單獲取電腦ip和計算機名計算機
- .net 獲取客戶端真實ip客戶端
- java 獲取客戶端真實ipJava客戶端
- java獲取客戶端ip和macJava客戶端Mac
- Django透過request獲取客戶端IPDjango客戶端
- ASP.NET獲取IP及電腦名等資訊的簡單方法+通用類檔案原始碼ASP.NET原始碼
- Java實現獲取本機Ip的工具類Java
- javascript獲取訪客停留時間程式碼JavaScript
- 一次獲取客戶端 IP 記錄客戶端
- 伺服器獲取真實客戶端 IP伺服器客戶端
- java web 通過request獲取客戶端IPJavaWeb客戶端
- 獲取SQL Server中連線的客戶端IP地址SQLServer客戶端
- Nginx前端設定反向代理,後端Apache如何獲取訪客的真實IP,結合PHPNginx前端後端ApachePHP
- 獲取使用者訪問網站的IP來源網站
- 五個簡單的策略讓訪客成為回頭客
- Java面試題-如何獲取客戶端真實IPJava面試題客戶端
- ASP.NET獲取客戶端IP及MAC地址ASP.NET客戶端Mac
- JS獲取客戶端IP地址與機器名JS客戶端
- 在SelfHost專案中獲取客戶端IP地址客戶端
- nginx反向代理獲取客戶端的真實IP和域名Nginx客戶端
- 7個獲取訪問者真實IP的方法,速學!!!
- php 獲取IPPHP
- php獲取訪客所在城市名稱程式碼PHP
- Asp.net MVC獲取訪問系統的客戶端計算機的主機名和IP地址ASP.NETMVC客戶端計算機
- Nginx 反向代理後如何獲取真實客戶端 IPNginx客戶端
- 服務端如何獲取客戶端請求IP地址服務端客戶端
- JSF/JAVA 根據IP獲取客戶端Mac地址JSJava客戶端Mac
- Silverlight中利用WCF獲取客戶端IP客戶端
- 在OwinSelfHost專案中獲取客戶端IP地址客戶端
- UINX 網路程式設計學習(2)--簡單的時間獲取客戶程式UI程式設計
- 如何獲取外網IP和IP的資訊
- saltstack獲取IP地址
- 獲取IP地址方法