• IP地址转换成IP Number并得到国家


    IP地址转换成IP Number并得到国家

    今天在家里没有什么事做,就在网上走走看,看了一篇根据IP地址找到国家;这个其实在我们工作都用到个,但是不知道是怎么来做的.

    在下面我将把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范围下载:https://files.cnblogs.com/caodaiming/ip-to-country.zip

    文章转自: http://www.cnblogs.com/caodaiming/archive/2008/08/09/1264233.html

  • 相关阅读:
    8.09_python_lx_shopping
    8.06_python_lx_day25
    8.05_python_lx_day24
    8.05_python_lx_day23
    8.03_python_lx_day21<2>
    Java注解
    Java多线程04
    Java多线程03
    Java多线程02
    Java多线程01
  • 原文地址:https://www.cnblogs.com/chenhs/p/1274564.html
Copyright © 2020-2023  润新知