最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
asp根据IP判断城市
时间:2022-07-02 23:12:04 编辑:袖梨 来源:一聚教程网
<%
Dim IP_address,IP_rs,CIP,IP_conn,IP_connstr,IP_province,IP_city,rs,IP_py
Const DataType=0 '0为Access数据库,1为SQL Server数据库
Const MdbPath="/ip/IPAddress.mdb" '如果是SQL Server数据库,此项留空
ip_address=Request.ServerVariables("REMOTE_ADDR") '获取客户端IP地址
Function GetRegion()
If Request.Cookies("sonrun")("IP_province")&""<>"" And Request.Cookies("sonrun")("IP_city")&""<>"" Then
IP_province=Request.Cookies("sonrun")("IP_province")
IP_city=Request.Cookies("sonrun")("IP_city")
Else
Call SelectData()
Response.Cookies("sonrun")("IP_province")=IP_province
Response.Cookies("sonrun")("IP_city")=IP_city
Response.Cookies("sonrun").Expires=Date+10
End If
End Function
Sub IPConn()
On Error Resume Next
If DataType=0 Then
IP_connstr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath(MdbPath)
Else
IP_connstr="driver={SQL Server}; server=127.0.0.1;database=IP_Address;uid=sa;pwd="
End If
Set IP_conn=Server.CreateObject("Adodb.Connection")
IP_conn.Open IP_connstr
End Sub
Function IP2Num(IP) '将IP转换为数字格式
Dim IPArr
IPArr=Split(IP,".")
IP2Num=Int(IPArr(0))*256*256*256+Int(IPArr(1))*256*256+Int(IPArr(2))*256+Int(IPArr(3))
End Function
Function SelectData()
If ip_address<>"" Then
CIP=IP2Num(ip_address)
Call IPConn()
Set IP_rs=IP_conn.Execute("select top 1 area from ip where "&CIP&">=ip1 and "&CIP&"<=ip2 order by id desc")
If IP_rs.Eof Then
IP_province="中国"
IP_city="北京"
Else
if instr(ip_rs("area")," ")>0 then
ip_a=split(ip_rs("area")," ")
if ubound(ip_a)>=2 then
IP_province=ip_a(0)
IP_city=ip_a(1)
else
IP_province=ip_rs("area")
IP_city=""
end if
else
IP_province=ip_rs("area")
IP_city=""
end if
End if
IP_rs.Close
Set IP_rs=Nothing
IP_conn.Close
Set IP_conn=Nothing
Else
IP_province="中国"
IP_city="北京"
End If
End Function
%>
相关文章
- 光遇12.23每日任务怎么做 光遇12月23日每日任务做法攻略 12-23
- 光遇12.23大蜡烛在哪里 光遇12月23日大蜡烛位置攻略 12-23
- 光遇12.23免费魔法有什么 光遇12月23日免费魔法收集攻略 12-23
- 《流放之路2》寻找熔炉任务攻略分享 12-23
- 《流放之路2》德雷文打法技巧分享 12-23
- 《流放之路2》永恒裁判者德雷文具体位置介绍 12-23