C# 获取客户端和服务器ip

C# 专栏收录该内容
18 篇文章 0 订阅
/// <summary>
     /// 获取web客户端ip
     /// </summary>
     /// <returns></returns>
     public  static  string  GetWebClientIp()
     {
 
         string  userIP =  "未获取用户IP" ;
 
         try
         {
             if  (System.Web.HttpContext.Current ==  null
         || System.Web.HttpContext.Current.Request ==  null
         || System.Web.HttpContext.Current.Request.ServerVariables ==  null )
                 return  "" ;
 
             string  CustomerIP =  "" ;
 
             //CDN加速后取到的IP simone 090805
             CustomerIP = System.Web.HttpContext.Current.Request.Headers[ "Cdn-Src-Ip" ];
             if  (! string .IsNullOrEmpty(CustomerIP))
             {
                 return  CustomerIP;
             }
 
             CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[ "HTTP_X_FORWARDED_FOR" ];
 
 
             if  (!String.IsNullOrEmpty(CustomerIP))
                 return  CustomerIP;
 
             if  (System.Web.HttpContext.Current.Request.ServerVariables[ "HTTP_VIA" ] !=  null )
             {
                 CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[ "HTTP_X_FORWARDED_FOR" ];
                 if  (CustomerIP ==  null )
                     CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[ "REMOTE_ADDR" ];
             }
             else
             {
                 CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables[ "REMOTE_ADDR" ];
 
             }
 
             if  ( string .Compare(CustomerIP,  "unknown" true ) == 0)
                 return  System.Web.HttpContext.Current.Request.UserHostAddress;
             return  CustomerIP;
         }
         catch  { }
 
         return  userIP;
 
     }
 
     /// <summary>
     /// 获取本机IP地址
     /// </summary>
     /// <returns></returns>
     public  static  string  GetIpAddress()
     {
         string  hostName = Dns.GetHostName();    //获取本机名
         IPHostEntry localhost = Dns.GetHostByName(hostName);     //方法已过期,可以获取IPv4的地址
         IPAddress localaddr = localhost.AddressList[0];
 
         return  localaddr.ToString();

    }


第一个是获取客户端IP地址,第二个是获取服务器IP(即部署的本机ip)。

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值