亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#獲取真實IP地址實現方法

2020-01-24 02:19:29
字體:
來源:轉載
供稿:網友

本文實例講述了C#獲取真實IP地址實現方法,分享給大家供大家參考。具體實現方法如下:

通常來說,大家獲取用戶IP地址常用的方法是:

復制代碼 代碼如下:
string IpAddress = "";

if((HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null
&& HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] !=String.Empty) )
{
        IpAddress=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ;
}
else
{
        HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}


事實上,上面的代碼只試用與用戶只使用了1層代理,如果用戶有2層,3層HTTP_X_FORWARDED_FOR 的值是:"本機真實IP,1層代理IP,2層代理IP,....." ,如果這個時候你的數據中保存IP字段的長度很?。?5個字節),數據庫就報錯了。

實際應用中,因為使用多層透明代理的情況比較少,所以這種用戶并不多。

獲取用戶真實IP的方法

復制代碼 代碼如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
namespace Common
{
    /// <summary>
    /// IPAddress 的摘要說明
    /// </summary>
public class IPAddress : System.Web.UI.Page
{

    public static Int64 toDenaryIp ( string ip )
    {
        Int64 _Int64 = 0;
        string _ip = ip;
        if ( _ip.LastIndexOf ( "." ) > -1 )
        {
            string[] _iparray = _ip.Split ( '.' );

            _Int64 = Int64.Parse ( _iparray.GetValue ( 0 ).ToString() ) * 256 * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 1 ).ToString() ) * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 2 ).ToString() ) * 256 + Int64.Parse ( _iparray.GetValue ( 3 ).ToString() ) - 1;
        }
        return _Int64;
    }

    /// <summary>
    /// /ip十進制
    /// </summary>
    public static Int64 DenaryIp
    {
        get {
            Int64 _Int64 = 0;

            string _ip = IP;
            if ( _ip.LastIndexOf ( "." ) > -1 )
            {
                string[] _iparray= _ip.Split ( '.' );

                _Int64 = Int64.Parse ( _iparray.GetValue ( 0 ).ToString() ) * 256 * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 1 ).ToString() ) * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 2 ).ToString() ) * 256 + Int64.Parse ( _iparray.GetValue ( 3 ).ToString() )-1;
            }
            return _Int64;
        }
    }

    public static string IP
    {
        get
        {
            string result = String.Empty;
            result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if ( result != null && result != String.Empty )
            {
               //可能有代理
                if ( result.IndexOf ( "." ) == -1 ) //沒有"."肯定是非IPv4格式
                    result = null;
                else
                {
                    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
                }
            }

            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 ( null == result || result == String.Empty )
                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

            if ( result == null || result == String.Empty )
                result = HttpContext.Current.Request.UserHostAddress;

            return result;
        }
    }

     //是否ip格式
    public 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 );
    }
}
}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩在线观看视频小说| 国产中文日韩欧美| 国产精品福利在线| 亚洲成年人影院在线| 国产成人精品视频在线| 精品中文字幕在线| 日韩视频免费观看| 久久97久久97精品免视看| 97精品免费视频| 国产精品爽爽爽| 欧美激情小视频| www.日韩.com| 成人免费视频在线观看超级碰| xvideos成人免费中文版| 国产婷婷97碰碰久久人人蜜臀| 91精品国产自产91精品| 午夜免费在线观看精品视频| 疯狂欧美牲乱大交777| 色偷偷偷亚洲综合网另类| 成人黄色生活片| 深夜福利国产精品| 亚洲精品720p| 欧美中文字幕在线播放| 国产精品一区二区三区毛片淫片| 亚洲福利视频网站| 欧美黄色三级网站| 成人女保姆的销魂服务| 久久久久成人精品| 欧美精品电影免费在线观看| 亚洲欧洲第一视频| 久久精品青青大伊人av| 日本久久91av| 亚洲变态欧美另类捆绑| 成人av在线网址| 久久免费高清视频| 中日韩美女免费视频网址在线观看| 欧美成人精品三级在线观看| 欧美成年人网站| 国产日本欧美一区| 欧美专区在线观看| 亚洲人成电影在线| 欧美一级视频免费在线观看| 亚洲毛片在线看| 7777精品久久久久久| 亚洲精品视频免费| 日韩在线免费高清视频| 中文字幕亚洲欧美一区二区三区| 久久久久久久一| 欧美在线一区二区视频| 精品国产乱码久久久久久婷婷| 日韩大片免费观看视频播放| 成人黄色片网站| 亚洲精品98久久久久久中文字幕| 国产精品中文字幕久久久| 国产91精品久久久久久| 97精品国产97久久久久久春色| 久久久久久免费精品| 久久免费精品日本久久中文字幕| 国产一区二区日韩| 日本一区二区在线播放| 18久久久久久| 日韩精品在线播放| 日韩电影免费观看在线观看| 国产精品美女网站| 91在线|亚洲| 亚洲精品永久免费| 性金发美女69hd大尺寸| 国产亚洲欧美另类中文| 日韩精品中文字幕有码专区| 亚洲视频在线免费看| 国产v综合ⅴ日韩v欧美大片| 亚洲网在线观看| 国产免费一区二区三区在线能观看| 国产日韩视频在线观看| 中文字幕av一区中文字幕天堂| 2019最新中文字幕| 亚洲第一av网| 国产亚洲精品一区二555| 国产一区二区三区三区在线观看| 日韩av大片免费看| 中文字幕日韩av| 精品国产一区二区三区久久久狼| 精品久久久久久久大神国产| 欧美高清视频在线观看| 九九久久久久久久久激情| 亚洲精品美女在线观看| 久久人人爽人人爽人人片av高清| 国产精品久久久久久五月尺| 欧美精品在线视频观看| 久久精品免费播放| 国产精品视频公开费视频| 亚洲欧美国产视频| 久99久在线视频| 欧美国产日产韩国视频| 国产精品影片在线观看| 91国产在线精品| 青青精品视频播放| 国产精品视频xxx| 4k岛国日韩精品**专区| 久久久久久久香蕉网| 伊人一区二区三区久久精品| 国产精品海角社区在线观看| 91久久精品美女| 欧美激情亚洲激情| 麻豆成人在线看| 日韩av高清不卡| 国产精品永久免费| 亚洲va码欧洲m码| 亚洲aaa激情| 色妞色视频一区二区三区四区| 日韩精品免费视频| 欧美性猛交xxxx富婆弯腰| 欧美日本啪啪无遮挡网站| 高清一区二区三区日本久| 亚洲直播在线一区| 久久综合亚洲社区| 精品性高朝久久久久久久| 欧美成人激情图片网| 色悠久久久久综合先锋影音下载| 欧美xxxx做受欧美| 亚洲欧美三级在线| 久久久久久亚洲精品| 亚洲最大成人在线| 亚洲日本成人女熟在线观看| 日本三级韩国三级久久| 欧美重口另类videos人妖| 成人免费视频在线观看超级碰| 日韩精品在线观看一区二区| 国产一区二区三区视频在线观看| 日韩美女中文字幕| 亚洲xxxx妇黄裸体| 国产亚洲精品综合一区91| 91丨九色丨国产在线| 国产精品久久久久7777婷婷| 国产区亚洲区欧美区| 992tv成人免费影院| 成人激情综合网| 日韩av在线高清| 日韩一区二区三区在线播放| 免费不卡欧美自拍视频| 亚洲a成v人在线观看| 亚洲毛片在线免费观看| 亚洲人成77777在线观看网| 国产成人亚洲综合91精品| 91免费看国产| 国产一区二区三区直播精品电影| 欧美俄罗斯性视频| 永久免费毛片在线播放不卡| 欧美性猛交xxxx黑人| 久久精品中文字幕一区| 国产婷婷97碰碰久久人人蜜臀| 亚洲午夜av久久乱码| 国产精品网站大全| 欧美午夜片在线免费观看| 成人午夜一级二级三级| 国产精品嫩草影院久久久| 欧美噜噜久久久xxx| 91久久久久久久久久久| 国产日韩亚洲欧美| 国产99视频在线观看| 精品日韩美女的视频高清| 亚洲人成网站色ww在线| 精品少妇一区二区30p| 国产女精品视频网站免费|