一些朋友可能会在做网站时需要考虑浏览者如果在国内输入网址则进入中文版网站而国外则进入英文网站,如何区分是国内浏览者还是国外浏览者呢,一般是通过浏览者所在的IP进行判断(如果来个大概判断的话可以通过浏览者所用浏览器的语言版本或者操作系统的语言版本进行判断)。

要用IP进行判断话,首先要有IP的划分表。下面提供c#判断国际国内IP的代码。

注意:为了使得判断更准确,要及时更新最新的IP划分表。
    附:IP划分表/Files/efly/WP_IPMAPPING.rar

/// <summary>
       /// 判断IP是否为国内IP
       /// </summary>
       /// <returns>返回true则是国内IP,返回false则是国外IP</returns>
        protected bool VerifyIP()
        {
            string ipaddress = System.Web.HttpContext.Current.Request.UserHostAddress;//获取浏览者所在IP
         
            string[] str = ipaddress.Split('.');
            //将IP地址转换为12位的字符串(去掉了“.”符号)
            string strs = str[0].PadLeft(3, '0') + str[1].PadLeft(3, '0') + str[2].PadLeft(3, '0') + str[3].PadLeft(3, '0');

decimal it = decimal.Parse(strs.ToString());//将IP地址转换为decimal类型
            ZPY.BLL.WorldIp bll_wp = new ZPY.BLL.WorldIp();
            DataSet ds = bll_wp.GetAllList();//将IP划分表的中国IP所有IP段的内容填充到DataSet对象
            DataTable dt = ds.Tables[0];
            foreach (DataRow dr in dt.Rows)//遍历所有的行
            {
                //获取每行的“StartIP”字段内容,即某一段国内IP的开始IP
                decimal dl1 = decimal.Parse(dr["StartIP"].ToString());
                //获取每行的“EndIP”字段内容,即某一段国内IP的结束IP
                decimal dl2 = decimal.Parse(dr["EndIP"].ToString());
                //如果浏览者所在IP所在在这个IP段内,则返回true 同时退出遍历
                if (it >= dl1 && it <= dl2)
                {
                    return true;
                }
            }
            //如果所在IP没有在表里面中国IP的任何范围,则返回false
            return false;
        }

转载于:https://www.cnblogs.com/zlonlyone/p/3309285.html

.NET中判断国内IP和国外IP相关推荐

  1. python判断字符串合法,详解Python判定IP地址合法性的三种方法 python中判断一个字符串是否是IP地址...

    html 中 鼠标放在标签上会显示小手状,其它标签在其他标签上,美工给加了一些样式,鼠标放上去也显示小手状.有哪位大手状样式 有什么不懂的前端问题可以去菜鸟驿站.全都是泡沫,只一刹的花火,所谓的友情, ...

  2. 最新IP地址数据库 全球IP数据库 国内IP数据库 国外IP数据库 CIDR掩码 2018年1月版...

    最新IP地址数据库(qqzeng-ip) 2018年 1月 最新发行版 351756条数据 基于:国内基于省市区以及运营商 国外基于国家 版本: 全球旗舰版  国内精华版 国外拓展版英文版 掩码版 字 ...

  3. 最新IP数据库 全球IP数据库 国内IP数据库 国外IP数据库 CIDR路由掩码 2018年12月版...

    最新IP地址数据库(qqzeng-ip) 2018年 12月 最新发行版 415692条数据 基于:国内基于省市区以及运营商 国外基于国家 版本: 全球旗舰版  国内精华版 国外拓展版英文版 掩码版 ...

  4. php禁止国外访问,wordpress 禁止国外ip访问

    一般做国内站,国外ip都是来攻击或撞库的,没有国外用户的需求,就可以在进入网站时进行ip检查,如果是国外ip就禁止访问 阿里提供了一个查询ip归属的接口,可以用来获取当前ip的真实地址,但对访问速度会 ...

  5. java获取公网ip_动态IP变固定IP,国内IP变海外IP,助力企业数据传输提高工作效率...

    在IPv4的地址数量越来越枯竭的情况下,大多数非专线的个人用户或者企业用户的ip地址都是动态ip地址,甚至很多都被更改为私网ip了,这给个人或者企业用户带来了很大不便.下面我们就来解决这些问题,让你可 ...

  6. 用 Nginx 禁止国外 IP 访问我的网站....

    点击关注公众号,实用技术文章及时了解   作者:运维小弟   www.toutiao.com/i6860736292339057156 前言 先来说说为啥要写这篇文章,之前小编看了下nginx 的访问 ...

  7. 用Nginx禁止国外IP访问我的网站...

    点击上方蓝色"终端研发部",选择"设为星标" 学最好的别人,做最好的我们 作者:运维小弟 出处:toutiao.com/i6860736292339057156 ...

  8. 用 Nginx 禁止国外 IP 访问我的网站...

    你已选中了添加链接的内容点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 8:55 更新文章,每天掉亿点点头发... 源 ...

  9. 京东一面,面试官问我如何用 Nginx 禁止国外 IP 访问网站,我直接凉凉!

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 4 分钟. 来自:toutiao.com/i6860736292339057156/ 之前看了下 Nginx 的访问日志,发现 ...

最新文章

  1. linux resin mysql_Linux下Resin JSP MySQL的安装和配置-2
  2. 标准K-means算法的缺陷、K-mean++初始化算法、初始化算法步骤、Kmeans++算法实现
  3. POJ 3522 Slim Span (Kruskal枚举最小边)
  4. 三种Ext提交数据的方法(转)
  5. 分析redis中大key的几种办法
  6. ei会议论文录用但不参加会议_会议论文投稿可以不参会吗
  7. android 接口定义常量,Android开发笔记(5):常量的合理使用
  8. Spark家族:Win10系统下搭建Scala开发环境
  9. [Usaco2008 Feb]Eating Together麻烦的聚餐[最长不下降子序列]
  10. 《巴伦周刊》评选出全球最佳30位CEO:马化腾再次上榜
  11. 批量修改 Netapp NFS Export
  12. MySQL客户端连接被频繁杀掉,企业案例(一):由于mysql sleep线程过多小故障
  13. sqlserver日期函数
  14. 【源码】基于遗传算法的VST混响插件
  15. WebGame服务端架构分析(一)
  16. 杀毒软件巨头荣光不复 瑞星信息去年亏损7300万元
  17. linux sox录音时间控制,Linux 对音频万能处理的命令——SOX
  18. easyui mysql 分页_Easyui 树形网格添加分页_EasyUI 教程
  19. debug基本命令及全称
  20. GD32VF103_定时器中断

热门文章

  1. [编程技巧] 巧用CPU缓存优化代码:数组 vs. 链表
  2. 单个APP接入多个微信支付宝支付的一种解决方案
  3. SQL Server 数据库定时自动备份
  4. GlusterFS下如何修复裂脑文件?
  5. python 钩子函数的使用
  6. 关于default constructor一个要注意的地方
  7. jfinal js 拦截_jfinal 使用拦截器处理繁琐的前置条件判定
  8. python升维方法_python机器学习12:数据“升维”
  9. 北交大计算机学院教授,北京交通大学计算机与信息技术学院研究生导师:鲁凌云...
  10. Kernel Video Converter中文版