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

ASP
ASP中通过该日历算法实现的具体代码
ASP类编写详细说明
一个简单的asp数据库操作类
一个asp快速字符串连接类
ByVal和ByRef(编写ASP子程序所用到命令)
FSO一些代码
ASP连接11种数据库语法总结
代码与页面的分离
ASP 类专题
直接保存URL图像或网页到服务器本地的类
[原创]关于Script的Defer属性
[ASP]使用类,实现模块化
在VBScript中使用类
浅谈ASP中的类
ASP中一个用VBScript写的随机数类
文件、目录,文本文件等多种操作类
Object对象的一些的隐藏函数介绍
ASP高亮类
叶子asp分页类
遭遇ASP类的事件设计

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 111 ::
收藏到网摘: 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 
%>