全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C# 获取IP及判断IP是否在区间

话不多说,请看代码:

/// <summary>
  /// 获取客户端IP
  /// </summary>
  /// <returns></returns>
  public static string GetClientIpAddress()
    {
      var httpContext = HttpContext.Current;
      if (httpContext.Request.ServerVariables == null)
      {
        return null;
      }
      var clientIp = httpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ??              httpContext.Request.ServerVariables["REMOTE_ADDR"];
      try
      {
        foreach (var hostAddress in Dns.GetHostAddresses(clientIp))
        {
          if (hostAddress.AddressFamily == AddressFamily.InterNetwork)
          {
            return hostAddress.ToString();
          }
        }
        foreach (var hostAddress in Dns.GetHostAddresses(Dns.GetHostName()))
        {
          if (hostAddress.AddressFamily == AddressFamily.InterNetwork)
          {
            return hostAddress.ToString();
          }
        }
      }
      catch (Exception ex)
      {

      }
      return clientIp;
    }
  /// <summary>
  /// ip是否在ip空间内
  /// </summary>
  /// <param name="ip"></param>
  /// <param name="ipSection"></param>
  /// <returns></returns>
  public static Boolean ipExistsInRange(String ip, String ipSection)
  {
    ipSection = ipSection.Trim();
    ip = ip.Trim();
    int idx = ipSection.IndexOf('-');
    String beginIP = ipSection.Substring(0, idx);
    String endIP = ipSection.Substring(idx + 1);
    return getIp2long(beginIP) <= getIp2long(ip) && getIp2long(ip) <= getIp2long(endIP);

  }
  public static long getIp2long(String ip)
  {
    ip = ip.Trim();
    String[] ips = ip.Split('.');
    long ip2long = 0L;
    for (int i = 0; i < 4; ++i)
    {
      ip2long = ip2long << 8 | Int64.Parse(ips[i]);
    }
    return ip2long;
  }
  public static long getIp2long2(String ip)
  {
    ip = ip.Trim();
    String[] ips = ip.Split('.');
    long ip1 = Int64.Parse(ips[0]);
    long ip2 = Int64.Parse(ips[1]);
    long ip3 = Int64.Parse(ips[2]);
    long ip4 = Int64.Parse(ips[3]);
    long ip2long = 1L * ip1 * 256 * 256 * 256 + ip2 * 256 * 256 + ip3 * 256 + ip4;
    return ip2long;
  }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# C#  # 获取IP  # 判断IP  # C#获取真实IP地址(IP转为长整形、判断是否内网IP的方法)  # c#获取本机在局域网ip地址的二种方法  # c#获取本机的IP地址的代码  # C# 根据ip获取城市等相关信息  # C#获取计算机名  # IP  # MAC信息实现代码  # 用C#编写获取远程IP  # MAC的方法  # C#判断给定IP地址是否在指定范围内的方法  # C#判断ip地址是否可以ping的通  # c#判断正确的ip地址格式示例  # C#获取本机IP地址和Mac地址的方法  # 多说  # 客户端  # null  # return  # Request  # ServerVariables  # HttpContext  # Current 


相关文章: 江苏网站制作公司有哪些,江苏书法考级官方网站?  Python如何创建带属性的XML节点  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何用景安虚拟主机手机版绑定域名建站?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  重庆市网站制作公司,重庆招聘网站哪个好?  郑州企业网站制作公司,郑州招聘网站有哪些?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  建站主机选购指南:核心配置与性价比推荐解析  北京建设网站制作公司,北京古代建筑博物馆预约官网?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  如何通过西部建站助手安装IIS服务器?  如何快速搭建高效服务器建站系统?  网站微信制作软件,如何制作微信链接?  个人摄影网站制作流程,摄影爱好者都去什么网站?  想学网站制作怎么学,建立一个网站要花费多少?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  网站制作价目表怎么做,珍爱网婚介费用多少?  ,柠檬视频怎样兑换vip?  c# 在高并发场景下,委托和接口调用的性能对比  如何用VPS主机快速搭建个人网站?  简单实现Android验证码  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  招商网站制作流程,网站招商广告语?  建站之星后台密码遗忘或太弱?如何重置与强化?  C#怎么创建控制台应用 C# Console App项目创建方法  模具网站制作流程,如何找模具客户?  5种Android数据存储方式汇总  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  一键网站制作软件,义乌购一件代发流程?  招贴海报怎么做,什么是海报招贴?  如何在七牛云存储上搭建网站并设置自定义域名?  建站主机是否属于云主机类型?  如何通过虚拟主机空间快速建站?  如何在Windows虚拟主机上快速搭建网站?  C#如何在一个XML文件中查找并替换文本内容  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  网站制作大概多少钱一个,做一个平台网站大概多少钱?  网站制作说明怎么写,简述网页设计的流程并说明原因?  平台云上自主建站:模板化设计与智能工具打造高效网站  建站主机选购指南:核心配置优化与品牌推荐方案  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  代刷网站制作软件,别人代刷火车票靠谱吗?  如何高效完成独享虚拟主机建站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  高性价比服务器租赁——企业级配置与24小时运维服务  网站制作企业,网站的banner和导航栏是指什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。