Portal,CMS,VSTS,UML&MSF......

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
Now that we've got the database, we will move on to writing the ASP code.

Firstly, we must know how to get the IP Address of the Visitor. To do that, our code will be

<%
strIP = Request.ServerVariables("HTTP_REMOTE_ADDR")
%>

The ServerVariables collection contains the combination of values that represent the HTTP headers sent from the visitor's browser to our server. By passing the "HTTP_REMOTE_ADDR" parameter to it, we request the IP Address of the visitor.
Through this, we will get an IP Address in the format xxx.xxx.xxx.xxx which may look like 108.89.128.147
But since our database have IP Numbers instead of IP Addresses, we will have to convert the IP Address into an IP Number.
To convert an IP Address into an IP Number, the formula is
A * (256*256*256) + B * (256*256) + C * 256 + D
for the IP Address A.B.C.D
So, for ease of things, we can use the following function to get an IP Number of an IP Address.

<%
Private Function ipAd2ipNum(ipA)
strO = ipA
pos1 = InStr(strO, ".")
intA = CInt(Left(strO, (pos1-1)))
strO2 = Mid(strO, pos1+1, len(strO))
pos2 = InStr(strO2, ".")
intB = CInt(Left(strO2, (pos2-1)))
strO3 = Mid(strO2, pos2+1, len(strO2))
pos3 = InStr(strO3, ".")
intC = CInt(Left(strO3, (pos3-1)))
intD = CInt(Mid(strO3, pos3+1, len(strO3)))

intConvert = (intA*(256*256*256)) + (intB*(256*256)) + (intC*256) + intD
ipAd2ipNum = Trim(intConvert)
End Function
%>


so, we can use this function as

<%
strIP = Request.ServerVariables("HTTP_REMOTE_ADDR")
strIPN = ipAd2ipNum(strIP)
%>

Thus we will get the IP Number of our IP Address. Now we are ready to query our ip2country database.
posted on 2005-06-08 12:01  Kerryべ  阅读(263)  评论(0编辑  收藏  举报