簡單的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人立場,如涉及侵權,請及時告知。
相關文章
- c# 獲取客戶端IPC#客戶端
- 獲取客戶端真實IP客戶端
- 簡單獲取電腦ip和計算機名計算機
- .net 獲取客戶端真實ip客戶端
- Java實現獲取本機Ip的工具類Java
- spring boot 獲取客戶端ip資訊Spring Boot客戶端
- Django透過request獲取客戶端IPDjango客戶端
- 伺服器獲取真實客戶端 IP伺服器客戶端
- 一次獲取客戶端 IP 記錄客戶端
- java web 通過request獲取客戶端IPJavaWeb客戶端
- 7個獲取訪問者真實IP的方法,速學!!!
- nginx反向代理獲取客戶端的真實IP和域名Nginx客戶端
- 在OwinSelfHost專案中獲取客戶端IP地址客戶端
- 在SelfHost專案中獲取客戶端IP地址客戶端
- 服務端如何獲取客戶端請求IP地址服務端客戶端
- 阿里雲CDN + nginx多級代理獲取客戶端IP阿里Nginx客戶端
- Nginx 反向代理後如何獲取真實客戶端 IPNginx客戶端
- Java面試題-如何獲取客戶端真實IPJava面試題客戶端
- Spring 客戶端 IP 地址獲取及儲存細節Spring客戶端
- saltstack獲取IP地址
- 乾貨:不同場景容器內獲取客戶端源IP的方法客戶端
- nginx多級代理下如何獲取客戶端真實IPNginx客戶端
- 在容器服務中獲取客戶端真實源 IP客戶端
- ABP vNext 審計日誌獲取真實客戶端IP客戶端
- java獲取本機的ip地址Java
- 獲取訪問者真實ip地址?我覺得不可能
- 如何簡單快捷批次獲取店鋪的所有商品?
- 獲取外網出口ip
- 超簡單獲取快應用摘要值
- SpringBoot 獲取訪問介面的請求的IP地址和瀏覽器資訊Spring Boot瀏覽器
- 如何使用 Go 獲取你的 IP 地址Go
- 簡單實現Laravel獲取當前執行的SQLLaravelSQL
- PHP --反射 --獲取類的方法PHP反射
- 獲取類名稱的方法
- Java獲取使用者IPJava
- jQuery獲取本機ip地址jQuery
- 獲取Linux本機IP命令Linux
- 如何獲取海外住宅IP地址?