亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP如何調用IP庫

2024-05-04 11:06:56
字體:
來源:轉載
供稿:網友

<%
' ============================================
' 返回IP信息 Disp_IPAddressData(IP,0)
' ============================================
Function Look_Ip(IP)
Dim Wry, IPType, QQWryVersion, IpCounter
' 設置類對象
Set Wry = New TQQWry
' 開始搜索,并返回搜索結果
' 您可以根據 QQWry(IP) 返回值來判斷該IP地址在數據庫中是否存在,如果不存在可以執行其他的一些操作
' 比如您自建一個數據庫作為追捕等,這里我就不詳細說明了
IPType = Wry.QQWry(IP)
' Country:國家地區字段
' LocalStr:省市及其他信息字段
Look_Ip =Wry.Country & "" & Wry.LocalStr
'''''Look_Ip = Wry.Country & ""
End Function
' ============================================
' 返回IP信息 JS調用
' ============================================
Function Disp_IPAddressData(IP, sType)
Dim Wry, IPType
Set Wry = New TQQWry
IPType = Wry.QQWry(IP)

Select Case sType
Case 1 Disp_IPAddressData = IP
Case 2 Disp_IPAddressData = Wry.Country
Case 3 Disp_IPAddressData = Wry.LocalStr
'Case Else Disp_IPAddressData = Wry.Country & "" & Wry.LocalStr
Case Else Disp_IPAddressData = Wry.Country
End Select
End Function
' ============================================
' 返回QQWry信息
' ============================================
Function WryInfo()
Dim Wry, IPType, QQWry_tem(0), QQWry_tem1(1)
' 設置類對象
Set Wry = New TQQWry
IPType = Wry.QQWry("255.255.255.254")
' 讀取數據庫版本信息
QQWry_tem(0) = Wry.Country & " " & Wry.LocalStr
' 讀取數據庫IP地址數目
QQWry_tem1(1) = Wry.RecordCount + 1
WryInfo = QQWry_tem(0)& " " & QQWry_tem1(1)
End Function

Class TQQWry
' ============================================
' 變量聲名
' ============================================
Dim Country, LocalStr, Buf, OffSet
Private StartIP, EndIP, CountryFlag
Public QQWryFile
Public FirstStartIP, LastStartIP, RecordCount
Private Stream, EndIPOff
' ============================================
' 類模塊初始化
' ============================================
Private Sub Class_Initialize
Country = ""
LocalStr = ""
StartIP = 0
EndIP = 0
CountryFlag = 0
FirstStartIP = 0
LastStartIP = 0
EndIPOff = 0
QQWryFile = Server.MapPath("/DATA/QQWry.dat") 'QQ純真IP庫存放路徑,要改為你的路徑
End Sub
' ============================================
' IP地址轉換成整數
' ============================================
Function IPToInt(IP)
Dim IPArray, i
IPArray = Split(IP, ".", -1)
FOr i = 0 to 3
If Not IsNumeric(IPArray(i)) Then IPArray(i) = 0
If CInt(IPArray(i)) < 0 Then IPArray(i) = Abs(CInt(IPArray(i)))
If CInt(IPArray(i)) > 255 Then IPArray(i) = 255
Next
IPToInt = (CInt(IPArray(0))*256*256*256) + (CInt(IPArray(1))*256*256) + (CInt(IPArray(2))*256) + CInt(IPArray(3))
End Function
' ============================================
' 整數逆轉IP地址
' ============================================
Function IntToIP(IntValue)
p4 = IntValue - Fix(IntValue/256)*256
IntValue = (IntValue-p4)/256
p3 = IntValue - Fix(IntValue/256)*256
IntValue = (IntValue-p3)/256
p2 = IntValue - Fix(IntValue/256)*256
IntValue = (IntValue - p2)/256
p1 = IntValue
IntToIP = Cstr(p1) & "." & Cstr(p2) & "." & Cstr(p3) & "." & Cstr(p4)
End Function
' ============================================
' 獲取開始IP位置
' ============================================
Private Function GetStartIP(RecNo)
OffSet = FirstStartIP + RecNo * 7
Stream.Position = OffSet
Buf = Stream.Read(7)

EndIPOff = AscB(MidB(Buf, 5, 1)) + (AscB(MidB(Buf, 6, 1))*256) + (AscB(MidB(Buf, 7, 1))*256*256)
StartIP = AscB(MidB(Buf, 1, 1)) + (AscB(MidB(Buf, 2, 1))*256) + (AscB(MidB(Buf, 3, 1))*256*256) + (AscB(MidB(Buf, 4, 1))*256*256*256)
GetStartIP = StartIP
End Function
' ============================================
' 獲取結束IP位置
' ============================================
Private Function GetEndIP()
Stream.Position = EndIPOff
Buf = Stream.Read(5)
EndIP = AscB(MidB(Buf, 1, 1)) + (AscB(MidB(Buf, 2, 1))*256) + (AscB(MidB(Buf, 3, 1))*256*256) + (AscB(MidB(Buf, 4, 1))*256*256*256)
CountryFlag = AscB(MidB(Buf, 5, 1))
GetEndIP = EndIP
End Function
' ============================================
' 獲取地域信息,包含國家和和省市
' ============================================
Private Sub GetCountry(IP)
If (CountryFlag = 1 Or CountryFlag = 2) Then
Country = GetFlagStr(EndIPOff + 4)
If CountryFlag = 1 Then
LocalStr = GetFlagStr(Stream.Position)
' 以下用來獲取數據庫版本信息
If IP >= IPToInt("255.255.255.0") And IP <= IPToInt("255.255.255.255") Then
LocalStr = GetFlagStr(EndIPOff + 21)
Country = GetFlagStr(EndIPOff + 12)
End If
Else
LocalStr = GetFlagStr(EndIPOff + 8)
End If
Else
Country = GetFlagStr(EndIPOff + 4)
LocalStr = GetFlagStr(Stream.Position)
End If
' 過濾數據庫中的無用信息
Country = Trim(Country)
LocalStr = Trim(LocalStr)
If InStr(Country, "CZ88.NET") Then Country = ""
If InStr(LocalStr, "CZ88.NET") Then LocalStr = ""
End Sub
' ============================================
' 獲取IP地址標識符
' ============================================
Private Function GetFlagStr(OffSet)
Dim Flag
Flag = 0
Do While (True)
Stream.Position = OffSet
Flag = AscB(Stream.Read(1))
If(Flag = 1 Or Flag = 2 ) Then
Buf = Stream.Read(3)
If (Flag = 2 ) Then
CountryFlag = 2
EndIPOff = OffSet - 4
End If
OffSet = AscB(MidB(Buf, 1, 1)) + (AscB(MidB(Buf, 2, 1))*256) + (AscB(MidB(Buf, 3, 1))*256*256)
Else
Exit Do
End If
Loop

If (OffSet < 12 ) Then
GetFlagStr = ""
Else
Stream.Position = OffSet
GetFlagStr = GetStr()
End If
End Function
' ============================================
' 獲取字串信息
' ============================================
Private Function GetStr()
Dim c
GetStr = ""
Do While (True)
c = AscB(Stream.Read(1))
If (c = 0) Then Exit Do

'如果是雙字節,就進行高字節在結合低字節合成一個字符
If c > 127 Then
If Stream.EOS Then Exit Do
GetStr = GetStr & Chr(AscW(ChrB(AscB(Stream.Read(1))) & ChrB(C)))
Else
GetStr = GetStr & Chr(c)
End If
Loop
End Function
' ============================================
' 核心函數,執行IP搜索
' ============================================
Public Function QQWry(DotIP)
Dim IP, nRet
Dim RangB, RangE, RecNo

IP = IPToInt (DotIP)

Set Stream = CreateObject("ADodb.Stream")
Stream.Mode = 3
Stream.Type = 1
Stream.Open
Stream.LoadFromFile QQWryFile
Stream.Position = 0
Buf = Stream.Read(8)

FirstStartIP = AscB(MidB(Buf, 1, 1)) + (AscB(MidB(Buf, 2, 1))*256) + (AscB(MidB(Buf, 3, 1))*256*256) + (AscB(MidB(Buf, 4, 1))*256*256*256)
LastStartIP = AscB(MidB(Buf, 5, 1)) + (AscB(MidB(Buf, 6, 1))*256) + (AscB(MidB(Buf, 7, 1))*256*256) + (AscB(MidB(Buf, 8, 1))*256*256*256)
RecordCount = Int((LastStartIP - FirstStartIP)/7)
' 在數據庫中找不到任何IP地址
If (RecordCount <= 1) Then
Country = "未知"
QQWry = 2
Exit Function
End If

RangB = 0
RangE = RecordCount

Do While (RangB < (RangE - 1))
RecNo = Int((RangB + RangE)/2)
Call GetStartIP (RecNo)
If (IP = StartIP) Then
RangB = RecNo
Exit Do
End If
If (IP > StartIP) Then
RangB = RecNo
Else
RangE = RecNo
End If
Loop

Call GetStartIP(RangB)
Call GetEndIP()

If (StartIP <= IP) And ( EndIP >= IP) Then
' 沒有找到
nRet = 0
Else
' 正常
nRet = 3
End If
Call GetCountry(IP)

QQWry = nRet
End Function
' ============================================
' 類終結
' ============================================
Private Sub Class_Terminate
On ErrOr Resume Next
Stream.Close
If Err Then Err.Clear
Set Stream = Nothing
End Sub
End Class
%>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品视频在线观看| 中文字幕日韩电影| 精品人伦一区二区三区蜜桃网站| 97视频人免费观看| 亚洲精品aⅴ中文字幕乱码| 国产午夜精品视频| 国产精品视频一区国模私拍| 国产精品老女人视频| 国产精品入口免费视频一| 国产91免费看片| 亚洲黄色av女优在线观看| 91系列在线观看| 精品一区二区三区四区在线| 欧美午夜片在线免费观看| 国产99久久精品一区二区永久免费| 美女扒开尿口让男人操亚洲视频网站| 精品在线欧美视频| 日韩av在线网页| 国产精品视频一| 亚洲男人天堂手机在线| 国内精品国产三级国产在线专| 亚洲精品wwwww| 一区国产精品视频| 日韩在线中文视频| 亚洲综合小说区| 欧美色欧美亚洲高清在线视频| 中文字幕国产精品久久| 欧美一级大胆视频| 欧美激情一区二区三区在线视频观看| 亚洲欧美一区二区三区情侣bbw| 国模精品系列视频| 亚洲精品视频网上网址在线观看| 91地址最新发布| 国产视频久久久久| 中文国产成人精品久久一| 日本免费久久高清视频| 91精品国产色综合久久不卡98| 国语自产精品视频在线看| 亚洲国产成人精品久久| 欧美又大又硬又粗bbbbb| 国产精品女人网站| 国产精品久久久久久久7电影| 国产成人精品视频在线| 精品电影在线观看| 精品国产一区久久久| 最好看的2019的中文字幕视频| 国产精品高潮呻吟久久av野狼| 成人女保姆的销魂服务| 国产亚洲精品日韩| 中文字幕久久久av一区| 国产成人精品久久二区二区91| 国产精品免费久久久| 日韩av在线精品| 日韩电影中文字幕在线观看| 欧美成人中文字幕| 色综合久综合久久综合久鬼88| 久久久久久久一区二区三区| 亚洲毛片在线观看.| 国产精品pans私拍| 精品成人乱色一区二区| 2020欧美日韩在线视频| 亚洲人成电影在线播放| 国产视频精品免费播放| 91a在线视频| 午夜免费日韩视频| 色妞一区二区三区| 91精品国产综合久久香蕉的用户体验| 亚洲精品按摩视频| 国产日产久久高清欧美一区| 国产精品一二区| 久久久久久久久久久av| 亚洲国产高潮在线观看| 热99精品只有里视频精品| 欧美国产日韩xxxxx| zzijzzij亚洲日本成熟少妇| 美女少妇精品视频| 色青青草原桃花久久综合| 亚洲精品国精品久久99热| 1769国内精品视频在线播放| 国产精品九九久久久久久久| 欧美麻豆久久久久久中文| 亚洲综合国产精品| 国产精品视频导航| 91欧美精品成人综合在线观看| 激情亚洲一区二区三区四区| 欧美高清视频在线| 日av在线播放中文不卡| 91麻豆国产精品| 91精品在线看| 麻豆国产精品va在线观看不卡| 菠萝蜜影院一区二区免费| 欧美制服第一页| 日本一欧美一欧美一亚洲视频| 69精品小视频| 午夜精品蜜臀一区二区三区免费| 亚洲精品电影久久久| 欧美视频中文在线看| 国产精品久久久久久久9999| 91免费高清视频| 亚洲日本aⅴ片在线观看香蕉| 美女999久久久精品视频| 中文字幕亚洲情99在线| 亚洲国产成人精品久久久国产成人一区| 欧美日韩亚洲一区二区三区| 2019中文字幕在线免费观看| 日韩一区二区精品视频| 日韩美女在线观看| 亚洲国产精品高清久久久| 国产一区二区三区视频免费| 国产精品福利小视频| 国产精品第100页| 欧美激情videos| 久久99久久99精品中文字幕| 欧美高清在线播放| 国内精品久久久久影院 日本资源| 亚洲欧美日本精品| 亚洲日韩第一页| 97成人精品视频在线观看| 亚洲人成电影在线观看天堂色| 亚洲天堂网在线观看| 欧美色videos| 色妞一区二区三区| 日韩精品久久久久| 日韩一区二区福利| 亚洲人高潮女人毛茸茸| 久久久久久久久久久人体| 国产精品国产三级国产aⅴ9色| 国产精品视频色| 久久久久中文字幕2018| 亚洲色图18p| 国产日韩精品在线| 清纯唯美日韩制服另类| 午夜精品久久17c| 性欧美在线看片a免费观看| 欧美丰满老妇厨房牲生活| 91伊人影院在线播放| 九九视频这里只有精品| 国产z一区二区三区| 国产欧美精品久久久| 92看片淫黄大片欧美看国产片| 伊人男人综合视频网| 亚洲xxxxx| 久久成人免费视频| 欧美成人在线影院| 91wwwcom在线观看| 色偷偷噜噜噜亚洲男人的天堂| 日韩三级成人av网| 欧美国产日韩免费| 亚洲国产日韩欧美在线图片| 成人国产精品久久久久久亚洲| 国产精品久久久久aaaa九色| 成人黄色免费网站在线观看| 日本aⅴ大伊香蕉精品视频| 91麻豆桃色免费看| 亚洲va欧美va国产综合剧情| 久久久最新网址| 亚洲白拍色综合图区| 国产精品男人的天堂| 久久影院模特热| 日韩av电影手机在线观看| 少妇高潮久久77777| 96pao国产成视频永久免费| 久久伊人91精品综合网站| 国产91精品青草社区|