一. 怎么获取IP地址 ?
访问你网站或WEB应用程序的每个用户都拥有一个IP地址.获取该IP地址是相当容易的.这可以应用在安全登陆或网络跟踪,当然也可以根据IP地址判断访问者来自世界的哪个角落,至少可以通过IP知道他们的ISP.
比较困难的情况是当这些访问者是通过一些代理端口访问,此时你只能看到代理服务器的IP地址而不是访问者真真的IP地址,这里有一段代码,关于先检查一个IP地址是否先来自于代理服务器,如果不是,就只获取该IP地址.这里提供一种同在.NET中获取IP的方法,不过是VB.NET.
- Dim nowip As String
- nowip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
- If nowip = "" Then
- nowip = Request.ServerVariables("REMOTE_ADDR")
- 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 哪里去获取?