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

ASP
防止网站被采集的理论分析以及十条方法对策
Asp 操作Access数据库时出现死锁.ldb的解决方法
asp HTTP_X_FORWARDED_FOR和REMOTE_ADDR
ASP 代码出现80040e14错误的解决方法
Asp 编码互转的研究和实现代码
asp fckeditor自定义上传文件的文件名
asp javascript picasa相册外链批量导出
asp MD5加密方式使用建议
asp javascript值的互相传递方法
ASP UTF-8编码下字符串截取和获取长度函数
asp vbcrlf是什么意思
ASP 相关文章或者相关产品
在Win2003 64位下ASP无法连接Access数据库
asp 得到动态数组中元素的个数
Session.TimeOut的最大取值是1440,超出会报错
Form Post提交容量大的数据
启动iis出现发生意外0x8ffe2740的解决方法
asp 实现当有新信息时播放语音提示的效果
asp 延时 页面延迟的三种方法
Asp 日期格式化问题

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


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