纯真IP库转为ACCESS数据库的方法(附查询代码)
作者:刚子 日期:2011-12-10
众所周知,目前网络上最齐全,更新速度最快的IP库是纯真IP(CN88.NET),但是纯真库是dat格式的,所以想要在WEB上用ASP来调用就必须将DAT转换为MDB才可以。下面介绍了具体方法和软件完整此项操作。
1.首先打开www.cz88.net下载最新版本的IP库。
2.下载最新版本的“iplook”软件,将DAT文件转为TXT格式。注意:“输出格式”必须选择“IP以无符号整数表示”。
3.下载“纯真、珊瑚虫文本IP数据库 To Access 转换器”将上一步得到的TXT文件转换为ACCESS数据库。
因为上面提到的三个软件经常更新,所以不提供地址,使用时请直接搜索查找最新版使用。
下面附上ACCESS ip库查询代码:
程序代码
1.首先打开www.cz88.net下载最新版本的IP库。
2.下载最新版本的“iplook”软件,将DAT文件转为TXT格式。注意:“输出格式”必须选择“IP以无符号整数表示”。
3.下载“纯真、珊瑚虫文本IP数据库 To Access 转换器”将上一步得到的TXT文件转换为ACCESS数据库。
因为上面提到的三个软件经常更新,所以不提供地址,使用时请直接搜索查找最新版使用。
下面附上ACCESS ip库查询代码:
程序代码<%'IP
Public Function address(sip)
If IsNumeric(Left(sip,2)) Then
If sip="127.0.0.1" Then sip="192.168.0.1"
str1=Left(sip,InStr(sip,".")-1)
sip=mid(sip,instr(sip,".")+1)
str2=Left(sip,instr(sip,".")-1)
sip=Mid(sip,InStr(sip,".")+1)
str3=Left(sip,instr(sip,".")-1)
str4=Mid(sip,instr(sip,".")+1)
If isNumeric(str1)=0 or isNumeric(str2)=0 or isNumeric(str3)=0 or isNumeric(str4)=0 Then
Else
num=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
adb = "ip.mdb"
connStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(adb)
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connStr
sql="select * from ip where startip <="&num&" and endip >="&num&""
Set rs=conn.execute(sql)
If rs.EOF And rs.bof Then
local="尚未收录"
Else
local=rs("country")&rs("local")
End If
Set rs=Nothing
Set conn = Nothing
SqlQueryNum = SqlQueryNum+1
End If
address=local
Else
address="未知"
End If
End Function
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip = Request.ServerVariables("REMOTE_ADDR")
End If
%><%=address(userip)%>
Public Function address(sip)
If IsNumeric(Left(sip,2)) Then
If sip="127.0.0.1" Then sip="192.168.0.1"
str1=Left(sip,InStr(sip,".")-1)
sip=mid(sip,instr(sip,".")+1)
str2=Left(sip,instr(sip,".")-1)
sip=Mid(sip,InStr(sip,".")+1)
str3=Left(sip,instr(sip,".")-1)
str4=Mid(sip,instr(sip,".")+1)
If isNumeric(str1)=0 or isNumeric(str2)=0 or isNumeric(str3)=0 or isNumeric(str4)=0 Then
Else
num=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
adb = "ip.mdb"
connStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(adb)
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connStr
sql="select * from ip where startip <="&num&" and endip >="&num&""
Set rs=conn.execute(sql)
If rs.EOF And rs.bof Then
local="尚未收录"
Else
local=rs("country")&rs("local")
End If
Set rs=Nothing
Set conn = Nothing
SqlQueryNum = SqlQueryNum+1
End If
address=local
Else
address="未知"
End If
End Function
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip = Request.ServerVariables("REMOTE_ADDR")
End If
%><%=address(userip)%>
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags: