当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP转化ip地址为长整型数字

ASP
ASP XML操作类代码
asp读取xml实例代码
ASP读取XML实例 优酷专辑采集程序 雷锋版
asp自带的内存缓存 application
Cookies 欺骗漏洞的防范方法(vbs+js 实现)
asp清理缓存的代码
asp Driver和Provider两种连接字符串连接Access时的区别
asp 性能测试报告 学习asp朋友需要了解的东西
ASP实例代码:asp操作Excel类
ASP 高亮显示不区分大小写的关键字
ASP XMLDom在服务器端操作XML文件的主要方法和实现
IE8内部对渲染模型的判断流程
web开发人员必须知道的Unicode与字符集相关知识

ASP转化ip地址为长整型数字


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 277 ::
收藏到网摘: n/a

有时候我们会在页面上显示用户的所在地区,这个原理是:先得到用户的IP,然后去查询将IP转换成一个数值,最后去查这个数值所在的范围,来得到用户所在的地方。
IP转换成数值的方法:
假设IP是192.168.0.1
192*255*255*255+168*255*255+0*255+1
结果就是要得到的数值。

将ip地址转换为长整型

<% 
Function CLngIP(ByVal asNewIP) 
Dim lnResults 
Dim lnIndex 
Dim lnIpAry 
lnIpAry = Split(asNewIP, ".", 4) 
For lnIndex = 0 To 3 
If Not lnIndex = 3 Then 
lnIpAry(lnIndex) = lnIpAry(lnIndex) * (256 ^ (3 - lnIndex)) 
End If 
lnResults = lnResults + lnIpAry(lnIndex) 
Next 
CLngIP = lnResults 
End Function 
%>


逆函数

<% 
Function CStrIP(ByVal anNewIP) 
Dim lsResults 
Dim lnTemp 
Dim lnIndex 
For lnIndex = 3 To 0 Step -1 
lnTemp = Int(anNewIP / (256 ^ lnIndex)) 
lsResults = lsResults & lnTemp & "." 
anNewIP = anNewIP - (lnTemp * (256 ^ lnIndex)) 
Next 
lsResults = Left(lsResults, Len(lsResults) - 1) 
CStrIP = lsResults 
End Function 
%>