怎么解析一个访问者的IP地址 原著(aspxCode)

来源:互联网 发布:qq飞车雷凌数据 编辑:程序博客网 时间:2024/05/01 07:39

 一.  怎么获取IP地址 ?

      访问你网站或WEB应用程序的每个用户都拥有一个IP地址.获取该IP地址是相当容易的.这可以应用在安全登陆或网络跟踪,当然也可以根据IP地址判断访问者来自世界的哪个角落,至少可以通过IP知道他们的ISP.

      比较困难的情况是当这些访问者是通过一些代理端口访问,此时你只能看到代理服务器的IP地址而不是访问者真真的IP地址,这里有一段代码,关于先检查一个IP地址是否先来自于代理服务器,如果不是,就只获取该IP地址.这里提供一种同在.NET中获取IP的方法,不过是VB.NET.

 

  1. Dim nowip As String 
  2. nowip = Request.ServerVariables("HTTP_X_FORWARDED_FOR"
  3. If nowip = "" Then
  4.    nowip = Request.ServerVariables("REMOTE_ADDR")
  5. End If

二.怎么将IP地址串转换成IP数字?

       (IPV4)版的IP地址被划分成四块,每个子块都有一个不同的系数,且其最大上限是256. 常以IP数字的形式将IP地址存储在数据库中,因为这样可以根据一个数字范围有效的去查询.

       一个IP地址的第一个系数和最后一个系数可以通过如下的公式得出:

      IP Number = 16777216 * A+ 65536 * B+ 256 * C + D(1)

      当 IP Address = A.B.C.D

       反过来可以通过一个IP数字获取一个IP地址串

    A = int ( IP Number / 16777216 ) % 256
    B= int ( IP Number / 65536 ) % 256
    C= int ( IP Number / 256 ) % 256
    D= int ( IP Number ) % 256

三.怎么通过IP地址解析国家名称,城市名称?

搜索存有IP与country对应关系数据的数据库,一个界于两个IP数字间的IP数字记录将被唯一确定,这样就轻而易举的可以获取该IP地址的相关信息了.

关于这样的IP-country database 哪里去获取?

http://ip-to-country.webhosting.info/node/view/6

原创粉丝点击