IP地址转换成IP Number

文章是根据这个翻译过来的:http://www.codeproject.com/KB/aspnet/aspxcode_net.aspx

原理:现在各个国家的IP都有一个IP Begin Number 和一个Ip End Number数字,把国家的开始的数据,各结束的数据都存在数据库

         最后通过一个计算公式把真实的IP地址转换成Ip Number,从数据库中找在Begin ,End之间的,如果在这间,就是这个国家的了

关于各个国家的IP Number这个应该是国标的吧,应该不会变的,在文章的后提供下载;


IP Number计算公式:         

IP Number  =  16777216 * +  65536 * +  256 * +  z     ( 1 )
where
IP Address 
=  w.x.y.z

 

 

 



说明:16777216,65536,256;这个数都是系数,就像圆周率3.14一样

      w.x.y.z分别对应真实的IP地址,eg:192.168.0.19;link


eg:

IP Address  =  202.186 . 13.4
So, w 
=  202 , x  =  186 , y  =  13  and z  =  4
IP Number 
=  16777216 * 202  +  65536 * 186  +  256 * 13  +  4
          
=  3388997632  +  12189696  +  3328  +  4
          
=  3401190660

这样就得到一个Ip Number了,现在我们就可以到我们的数据库去找它对就的IP段,即能得来是哪一个国家

关于从数据库的代码我就不多说了哟


国标IP范围下载:http://files.cnblogs.com/caodaiming/ip-to-country.zip






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值