.NET中判断国内IP和国外IP

      一些朋友可能会在做网站时需要考虑浏览者如果在国内输入网址则进入中文版网站而国外则进入英文网站,如何区分是国内浏览者还是国外浏览者呢,一般是通过浏览者所在的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27794.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP获取方法二:太平洋网络IP地址查询Web接口

接口列表&#xff1a; (1)ip.jsp(2)ipJson.jsp(3)jsAlert.jsp(4)jsDom.jsp(5)jsFunction.jsp(6)jsLabel.jsp(7)jsWrite.jsp(8)whois/index.jsp(9)ipAreaCoord.jsp(10)ipAreaCoordJson.jsp 接口参数:param ip:可指定IP地址&#xff0c;不指定则取request.getRemoteAddr()的值。…

从APNIC获取中国IP地址列表

关于APNIC 全球IP地址块被IANA(Internet Assigned Numbers Authority)分配给全球三大地区性IP地址分配机构&#xff0c;它们分别是&#xff1a; ARIN (American Registry for Internet Numbers) 负责北美、南美、加勒比以及非洲撒哈啦部分的IP地址分配。同时还要给全球NSP(Netw…

使用IPIP.net识别客户端真实访问地址,具体到国家,省,市

这个IP库实测还是比较准确的,免费版的可以具体到国内城市&#xff0c;国外只能到国家名称,免费版的自己定期更新Ip数据库即可。 以下为C#调用代码 class Program{static void Main(string[] args){try{//传入要查询的ip 和17monipdb.datx 下载的ip库所在位置string address …

Google 以图搜图 - 相似图片搜索原理 - Java实现

前阵子在阮一峰的博客上看到了这篇《相似图片搜索原理》博客&#xff0c;就有一种冲动要将这些原理实现出来了。 Google "相似图片搜索"&#xff1a;你可以用一张图片&#xff0c;搜索互联网上所有与它相似的图片。 打开Google图片搜索页面&#xff1a; 点击使用上传…

GPT-5紧急叫停?千名专家联名呼吁,AI技术的未来又该何去何从?

在半个月前强势上线的GPT-4 &#xff0c;以其强大的性能再次掀起了一波关于人工智能技术的全民热潮。但GPT-4太强了&#xff0c;强到发指&#xff0c;不止群众恐慌&#xff0c;北京时间3月29日&#xff0c;全世界的 AI 大佬们纷纷出手&#xff0c;千名专家发表公开信&#xff0…

这次彻底搞懂 Redis,超详细总结!

作者&#xff1a;wugongzi 来源&#xff1a;https://www.cnblogs.com/wugongzi/p/16827473.html Redis 基础 如果对 Redis 还不了解的同学可以先看一下这篇 https://www.cnblogs.com/wugongzi/p/12841273.html 这里面介绍了 Redis 是什么&#xff0c;以及怎么用。 Redis 管道 我…

《花雕学AI》35:如何一次性和17个AI聊天机器人交流?ChatALL让你轻松实现

聊天机器人&#xff0c;也称为对话机器人&#xff0c;是一种能够通过自然语言与人类进行交流的人工智能系统。聊天机器人的应用领域非常广泛&#xff0c;从客服、娱乐、教育、医疗、社交等&#xff0c;到科研、商业、政治、军事等&#xff0c;几乎无所不包。随着深度学习和自然…

一个程序员的成长之路

学习笔记 java基础类型与String相关基本类型范围基本类型的转换byte计算自动转换int基本类型与包装类equals与的区别 集合比较与常用集合原理反射机制与真实使用场景动态代理与使用范例异常类加载机制与热加载实现与反编译内存模型与threadLocal与syncronizejvm的GC与调优处理J…

【Idea】人工智能编程他来了,Idea集成一款和ChatGPT一样智能的编码辅助神器

文章目录 简介官方介绍功能介绍 注册使用使用方法功能说明 结尾 简介 Bito是一款建立在OpenAI和ChatGPT之上的开发辅助神器&#xff01;他可以帮我们生成代码、语法提示、生成测试用例、解释代码含义、生成注释、优化代码、检测代码安全性以及学习理论知识等&#xff01;我们可…

澎湃新闻对话腾讯丁珂:从“治已病”到“治未病”,企业需快速构建“安全免疫力”

作者&#xff1a;澎湃新闻记者 周頔 随着数字化进程加快&#xff0c;企业数字化体系的边界在不断拓展&#xff0c;安全风险和挑战不断增加&#xff0c;传统被动防御的安全应对常显疲态&#xff0c;数字安全时代亟待建立全新的安全范式。 6月13日&#xff0c;腾讯安全联合IDC等…

2023年大学生就业怎么样?双一流高校就业率仅15%,到底是咋了?

2023年&#xff0c;大学毕业生就业状况如何&#xff0c;一直是社会关注的焦点。尤其是中国的双一流高校&#xff0c;以其优越的教学与研究背景和实力&#xff0c;被众多年轻人视为就业的理想选择。 然而&#xff0c;在最新的统计数据中&#xff0c;这些一流高校的就业率却惊人…

Chat GPT 的上线,网络安全问题已经显现

前言 Chat GPT已经发布了&#xff0c;一位不知名的作者将它的孪生兄弟“DAN”就在世界上最黑暗的暗网上线了。 这个黑化的GPT刚刚上线的一周后&#xff0c;就已经有组织利用“DAN”犯罪了。 他们利用虚拟电话号码注册各种交友平台的账号&#xff0c;然后再模仿有魅力的男女人…

媒体专访|知道创宇黑哥:视野和格局将决定网络空间测绘的未来!

日前&#xff0c;网安专业媒体安全牛【牛人访谈】栏目专访了知道创宇CSO黑哥&#xff08;周景平&#xff09;。 围绕知道创宇出版的新书《网络空间测绘技术与实践》&#xff0c;安全牛分析师与黑哥就网络空间测绘技术当下的应用与挑战、未来的发展与创新进行了对话与交流。 以…

《花雕学AI》比尔・盖茨:AI 和 ChatGPT 可以改善人类生活,但也要防止滥用和危害

3月21号&#xff0c;微软创始人比尔盖茨&#xff0c;发表最新AI文章《人工智能时代已经开始——人工智能与手机、互联网一样具有革命性》&#xff0c;文章中表示&#xff1a;「自1980年首次看到图形用户界面&#xff08;graphical user interface&#xff09;以来&#xff0c;O…

速下载|2023上半年网络与数据安全法规政策、国标、报告合集

随着国家数字经济建设进程加快&#xff0c;数据安全立法实现由点到面、由面到体加速构建&#xff0c;目前我国数据安全立法已基本形成以《网络安全法》《数据安全法》《个人信息保护法》《密码法》等法律为核心&#xff0c;行政法规、部门规章为依托&#xff0c;地方性法规、地…

ChatGPT进军网络安全,安全从业者将会被取代?

在ChatGPT爆火之后&#xff0c;微软宣布推出基于ChatGPT的“安全副驾驶”产品&#xff0c;宣称将“帮助防御者以机器的速度和规模进行端到端防御。” 网络安全是人工智能最大的细分市场&#xff0c;而ChatGPT又是引领当下人工智能技术革命的“核弹级产品”&#xff0c;在网络安…

C#与西门子PLC通信通过S7.NET

前言&#xff1a; S7.NET支持连接S7-200SMART,S7-1200,S7-1500,S7-300,S7-400PLC,只支持西门子系列PLC&#xff0c;而且连接方式要是profinet通信 一&#xff0c;引用S7.NET的dll文件 二&#xff0c;using S7.Net; 三,实例化PLC 如果是连接PLC SMART200&#xff0c;CPU.Type直…

利用NetToPLCsim将西门子PLCSIM变成一个真实PLC,实现与录波软件、HMI软件等的通讯

学习西门子PLC的朋友们对于西门子的S7-PLCSIM软件都不陌生&#xff0c;当我们安装了该软件后&#xff0c;在STEP7或者博图的面板中就多出了一个仿真的按钮&#xff0c;点击该按钮&#xff0c;就会调出仿真软件S7-PLCSIM软件&#xff0c;将当前的PLC项目下载进去。启动该仿真PLC…

博途仿真PLC与第三方客户端通信

NetToSimPLC使用 在缺少PLC硬件的情况下&#xff0c;我们可以借助PLC模拟器&#xff08;西门子&#xff09;PLCSim做一些简单程序测试。但是除了PLC程序本身需要测试以外&#xff0c;PLC之间的通讯和PLC与HMI、SCADA的连接也是需要调试的。在缺少硬件的情况下&#xff0c; 往往…

PLC程序实例二:ModBusTCP客户端编程实例与测试方法

一、需求描述 1、设备作为服务端时&#xff0c;需要给出对应的测试方法&#xff0c;即要求 PLC 作为客户端&#xff0c;设备作为服务端&#xff0c;因此要求编写 PLC 的ModBusTCP客户端 2、先了解一下设备作为服务端的ModBusTCP网络触发业务逻辑 &#xff08;1&#xff09;设…