C#獲得當前頁面客戶端的真實IP

并且可以提取開啟代理/cdn服務后的客戶端真實IP


IPHelper幫助類庫源碼


/// <summary>
/// 開發(fā)團隊:JsonsTeam
/// 官方主頁:http://hnxxbl.cn
/// </summary>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;

namespace JsonsTeam.Helper
{
    public class IPHelper
    {
        /// <summary>
        /// C#獲得當前頁面客戶端的真實IP
        /// 可以提取開啟代理/cdn服務后的客戶端真實IP
        /// </summary>
        /// <returns>當前頁面客戶端的真實IP</returns>
        public static string GetTrueIP()
        {
            string ip = string.Empty;
            string X_Forwarded_For = HttpContext.Current.Request.Headers["X-Forwarded-For"];
            if (!string.IsNullOrWhiteSpace(X_Forwarded_For))
            {
                ip = X_Forwarded_For;
            }
            else
            {
                string CF_Connecting_IP = HttpContext.Current.Request.Headers["CF-Connecting-IP"];
                if (!string.IsNullOrWhiteSpace(CF_Connecting_IP))
                {
                    ip = CF_Connecting_IP;
                }
                else
                {
                    //沒開啟代理 正常獲取ip
                    ip = HttpContext.Current.Request.UserHostAddress;
                }
            }
            return ip;
        }
    }
}


原文鏈接:C#獲得當前頁面客戶端的真實IP