<%
'+--------------------------------------------+
'| IP功能函数 |
'| 2004年4月6日 14:35:58 |
'| 圪圪 |
'+--------------------------------------------+'===================================================================================
' 函数名称: IPAddressToNumber()
' 函数原型: IPAddressToNumber(IPAddress)
' 功 能: 将IP地址转化为数字
' 参 数: IPAddress 待转化的IP地址
' 返 回 值: Double类型的数字
' 涉及的表: 无
'===================================================================================
Function IPAddressToNumber(IPAddress)
Dim arrayTemp
arrayTemp=Split(IPAddress,".")
If UBound(arrayTemp)<>3 Then
Err.Raise 1234,"IPAddressToNumber()","参数不是合法的IP地址值:[" & IPAddress & "]"
Exit Function
End If
IPAddressToNumber=CDbl(arrayTemp(3))
IPAddressToNumber=IPAddressToNumber+CDbl(arrayTemp(2)*256)
IPAddressToNumber=IPAddressToNumber+CDbl(arrayTemp(1)*256*256)
IPAddressToNumber=IPAddressToNumber+CDbl(arrayTemp(0)*256*256*256)
End Function
'===================================================================================
' 函数名称: NumberToIpAddress()
' 函数原型: NumberToIpAddress(ipNumber)
' 功 能: 将数字转化为IP地址
' 参 数: ipNumber 待转化的IP地址
' 返 回 值: IP字符串
' 涉及的表: 无
'===================================================================================
Function NumberToIpAddress(ipNumber)
Dim arrayTemp(4)
Dim ipHigh,ipLow,iCnt
ipHigh=ipNumber/65536
ipLow=ipNumber-Fix(ipHigh)*65536
arrayTemp(0)=(ipHigh And &HFF00) / 256
arrayTemp(1)=ipHigh And &H00FF
arrayTemp(2)=(ipLow And &HFF00) / 256
arrayTemp(3)=ipLow And &H00FF
NumberToIpAddress=CStr(arrayTemp(0)) & "." & CStr(arrayTemp(1)) & "." & CStr(arrayTemp(2)) & "." & CStr(arrayTemp(3))
End Function
'===================================================================================
' 函数名称: IpAddressToLocation()
' 函数原型: IpAddressToLocation(IPAddress)
' 功 能: 将数字转化为IP地址
' 参 数: IPAddress 待转化的IP地址
' 返 回 值: 地理位置
' 涉及的表: 无
'===================================================================================
Public Function IpAddressToLocation(IPAddress)
Dim numIP,sqlStr,conn,rst
numIP=IPAddressToNumber(IPAddress)
sqlstr="select top 1 * from tbDictIP where ip1<" & numIP & " and ip2>" & numIP & " order by ip2-ip1 ASC"
OpenConn conn,"/DataBase/System.mdb"
OpenRS rst,conn
rst.Open sqlstr
If rst.Bof Or rst.Eof Then
IpAddressToLocation="未知"
Else
IpAddressToLocation=rst("Country") & " " & rst("City")
End If
rst.Close
CloseRS rst
CloseConn conn
End Function
%>
'+--------------------------------------------+
'| IP功能函数 |
'| 2004年4月6日 14:35:58 |
'| 圪圪 |
'+--------------------------------------------+'===================================================================================
' 函数名称: IPAddressToNumber()
' 函数原型: IPAddressToNumber(IPAddress)
' 功 能: 将IP地址转化为数字
' 参 数: IPAddress 待转化的IP地址
' 返 回 值: Double类型的数字
' 涉及的表: 无
'===================================================================================
Function IPAddressToNumber(IPAddress)
Dim arrayTemp
arrayTemp=Split(IPAddress,".")
If UBound(arrayTemp)<>3 Then
Err.Raise 1234,"IPAddressToNumber()","参数不是合法的IP地址值:[" & IPAddress & "]"
Exit Function
End If
IPAddressToNumber=CDbl(arrayTemp(3))
IPAddressToNumber=IPAddressToNumber+CDbl(arrayTemp(2)*256)
IPAddressToNumber=IPAddressToNumber+CDbl(arrayTemp(1)*256*256)
IPAddressToNumber=IPAddressToNumber+CDbl(arrayTemp(0)*256*256*256)
End Function
'===================================================================================
' 函数名称: NumberToIpAddress()
' 函数原型: NumberToIpAddress(ipNumber)
' 功 能: 将数字转化为IP地址
' 参 数: ipNumber 待转化的IP地址
' 返 回 值: IP字符串
' 涉及的表: 无
'===================================================================================
Function NumberToIpAddress(ipNumber)
Dim arrayTemp(4)
Dim ipHigh,ipLow,iCnt
ipHigh=ipNumber/65536
ipLow=ipNumber-Fix(ipHigh)*65536
arrayTemp(0)=(ipHigh And &HFF00) / 256
arrayTemp(1)=ipHigh And &H00FF
arrayTemp(2)=(ipLow And &HFF00) / 256
arrayTemp(3)=ipLow And &H00FF
NumberToIpAddress=CStr(arrayTemp(0)) & "." & CStr(arrayTemp(1)) & "." & CStr(arrayTemp(2)) & "." & CStr(arrayTemp(3))
End Function
'===================================================================================
' 函数名称: IpAddressToLocation()
' 函数原型: IpAddressToLocation(IPAddress)
' 功 能: 将数字转化为IP地址
' 参 数: IPAddress 待转化的IP地址
' 返 回 值: 地理位置
' 涉及的表: 无
'===================================================================================
Public Function IpAddressToLocation(IPAddress)
Dim numIP,sqlStr,conn,rst
numIP=IPAddressToNumber(IPAddress)
sqlstr="select top 1 * from tbDictIP where ip1<" & numIP & " and ip2>" & numIP & " order by ip2-ip1 ASC"
OpenConn conn,"/DataBase/System.mdb"
OpenRS rst,conn
rst.Open sqlstr
If rst.Bof Or rst.Eof Then
IpAddressToLocation="未知"
Else
IpAddressToLocation=rst("Country") & " " & rst("City")
End If
rst.Close
CloseRS rst
CloseConn conn
End Function
%>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货