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

ASP
连接数据库查询手册
ASP.net组件编程中的两种事件编写方法
简单快捷实现ASP在线发邮件
ASP能读写注册表
用ASP实现在线压缩与解压缩
Asp编写不再让人讨厌的自动弹出窗口
使用组件封装ASP的数据库操作
删除Access数词库中的空记录
制做行背景颜色交替变换的表格
将数据库中的信息存储至XML文件中
如何用foreach遍历页面上所有的TextBox
asp.net如何生成图片验证码(简单)
WEB表格导出为EXCEL文档的方法
ASP上两个防止SQL注入式攻击Function
xmlHTTP技术资料
提高ASP.NET性能的方法
DataGrid 分页问题
如何固定表格的标题行和标题列
在B/S系统中引入定时器的功能
关于用ASP.Net识别远程主机服务器种类

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


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