ระบบสืบค้นอันดับเพจของ Google (ไม่ขโมยข้อมูลเว็บไซต์บุคคลที่สาม) มาพร้อมกับหน้าตัวอย่างสามหน้าของโปรแกรมนี้ และหมวดหมู่การสืบค้นอันดับระยะไกล
ของ Google นั้นดีมาก: http://www.knowsky.com/tools/ ราคา/
จำนวนหน้า:
CLS_Asphttp.asp
<%
คลาส FlyCms_AspHttp
oForm สาธารณะ, oXml, Ados
strHeaders สาธารณะ
วิธีการสาธารณะ
URL สาธารณะ
ผู้อ้างอิงสาธารณะ
sSetCookie สาธารณะ
ภาษาสาธารณะ
เนื้อหาสาธารณะ
ตัวแทนสาธารณะ
การเข้ารหัสสาธารณะ
ยอมรับสาธารณะ
ข้อมูลสาธารณะ
sCodeBase สาธารณะ
slresolveTimeout ส่วนตัว, slconnectTimeout, slsendTimeout, slreceiveTimeout
-
'การเริ่มต้นโมดูลคลาส
-
Class_Initialize ส่วนตัว ()
oแบบฟอร์ม = ""
ตั้งค่า oXml = Server.CreateObject("MSXML2.ServerXMLHTTP")
ตั้ง Ados = Server.CreateObject("Adodb.Stream")
slresolveTimeout = 20,000 'หมดเวลาสำหรับการแก้ไขชื่อ DNS, 20 วินาที
slconnectTimeout = 20,000 ' หมดเวลาสำหรับการสร้างการเชื่อมต่อ Winsock, 20 วินาที
slsendTimeout = 30000 ' หมดเวลาสำหรับการส่งข้อมูล 30 วินาที
slreceiveTimeout = 30000 ' หมดเวลารับการตอบกลับ 30 วินาที
จบซับ
' ============================================
'หมดเวลาสำหรับการแก้ไขชื่อ DNS
-
ทรัพย์สินสาธารณะ ให้ lresolveTimeout(LngSize)
ถ้า IsNumeric(LngSize) แล้ว
slresolveTimeout = Clng (ขนาด Lng)
สิ้นสุดถ้า
สิ้นสุดคุณสมบัติ
-
' หมดเวลาสำหรับการสร้างการเชื่อมต่อ Winsock
-
ทรัพย์สินสาธารณะให้ lconnectTimeout (LngSize)
ถ้า IsNumeric(LngSize) แล้ว
slconnectTimeout = Clng (ขนาด Lng)
สิ้นสุดถ้า
สิ้นสุดคุณสมบัติ
-
' หมดเวลาสำหรับการส่งข้อมูล
-
ทรัพย์สินสาธารณะให้ lsendTimeout (LngSize)
ถ้า IsNumeric(LngSize) แล้ว
slsendTimeout = Clng (LngSize)
สิ้นสุดถ้า
สิ้นสุดคุณสมบัติ
-
' หมดเวลาในการรับการตอบกลับ
-
ทรัพย์สินสาธารณะให้ lreceiveTimeout(LngSize)
ถ้า IsNumeric(LngSize) แล้ว
slreceiveTimeout = Clng (ขนาด Lng)
สิ้นสุดถ้า
สิ้นสุดคุณสมบัติ
-
'วิธี
-
วิธีการให้เช่าทรัพย์สินสาธารณะ (strMethod)
sMethod = strMethod
สิ้นสุดคุณสมบัติ
-
'ส่ง url
-
ทรัพย์สินสาธารณะให้ Url(strUrl)
sUrl = strUrl
สิ้นสุดคุณสมบัติ
-
'ข้อมูล
-
ข้อมูลทรัพย์สินสาธารณะให้ (strData)
sData = strData
สิ้นสุดคุณสมบัติ
-
'ผู้อ้างอิง
-
ผู้อ้างอิงทรัพย์สินสาธารณะ (strReferer)
sReferer = strReferer
สิ้นสุดคุณสมบัติ
-
'ตั้งค่าคุกกี้
-
ทรัพย์สินสาธารณะให้ SetCookie (strCookie)
sSetCookie = strCookie
สิ้นสุดคุณสมบัติ
-
'ภาษา
-
ทรัพย์สินสาธารณะให้ภาษา(strLanguage)
sLanguage = strLanguage
สิ้นสุดคุณสมบัติ
-
'ประเภทเนื้อหา
-
ทรัพย์สินสาธารณะให้เนื้อหา (strCONTENT)
เนื้อหา = strCONTENT
สิ้นสุดคุณสมบัติ
-
'ผู้ใช้-ตัวแทน
-
ตัวแทนให้เช่าทรัพย์สินสาธารณะ(strAgent)
sAgent = สเตรเอเจนต์
สิ้นสุดคุณสมบัติ
-
'ยอมรับการเข้ารหัส
-
ทรัพย์สินสาธารณะให้การเข้ารหัส (strEncoding)
sEncoding = strEncoding
สิ้นสุดคุณสมบัติ
-
'ยอมรับ
-
ทรัพย์สินสาธารณะให้ยอมรับ(strAccept)
sAccept = strAccept
สิ้นสุดคุณสมบัติ
-
'โค้ดเบส
-
ทรัพย์สินสาธารณะให้ CodeBase (strCodeBase)
sCodeBase = strCodeBase
สิ้นสุดคุณสมบัติ
-
'สร้างทิศทางการถ่ายโอนข้อมูล!
-
ฟังก์ชั่นสาธารณะ AddItem (คีย์, ค่า)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim TempStr
ถ้า oForm = "" แล้ว
oForm = คีย์ + "=" + Server.URLEncode (ค่า)
อื่น
oForm = oForm + "&" + คีย์ + "=" + Server.URLEncode (ค่า)
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
-
'ส่งข้อมูลและรับข้อมูลระยะไกล
-
ฟังก์ชั่นสาธารณะ HttpGet()
ดิมสรีเทิร์น
ด้วย oXml
.setTimeouts slresolveTimeout, slconnectTimeout, slsendTimeout, slreceiveTimeout
.เปิด sMethod,sUrl,False
ถ้า sSetCookie<>"" จากนั้น
.setRequestHeader "คุกกี้", sSetCookie 'ตั้งค่าคุกกี้
สิ้นสุดถ้า
หาก sReferer<>"" จากนั้น
.setRequestHeader "ผู้อ้างอิง", sReferer 'ตั้งค่าแหล่งที่มาของหน้า
อื่น
.setRequestHeader "ผู้อ้างอิง", sUrl
สิ้นสุดถ้า
ถ้า sLanguage<>"" แล้ว
.setRequestHeader "ยอมรับภาษา", sLanguage 'ตั้งค่าภาษา
สิ้นสุดถ้า
.setRequestHeader "Content-Length",Len(sData) 'ตั้งค่าความยาวของข้อมูล
ถ้า sCONTENT<>"" แล้ว
.setRequestHeader "CONTENT-Type",sCONTENT 'ตั้งค่าประเภทข้อมูลที่ยอมรับ'
สิ้นสุดถ้า
ถ้า sAgent<>"" แล้ว
.setRequestHeader "User-Agent", sAgent 'ตั้งค่าเบราว์เซอร์
สิ้นสุดถ้า
หาก sEncoding<>"" จากนั้น
.setRequestHeader "ยอมรับการเข้ารหัส", sEncoding 'ตั้งค่าการบีบอัด gzip
สิ้นสุดถ้า
หาก sAccept<>"" จากนั้น
.setRequestHeader "ยอมรับ", sAccept "ประเภทเอกสาร"
สิ้นสุดถ้า
การตอบสนองเขียน sData
.ส่ง sData 'ส่งข้อมูล'
ในขณะที่ .readyState <> 4
.waitForResponse 1,000
เวนด์
strHeaders = .getAllResponseHeaders()
ถ้า sCodeBase<>"" แล้ว
sReturn = bytes2BSTR (.responseBody)
อื่น
sReturn = .responseBody
สิ้นสุดถ้า
จบด้วย
HttpGet = sReturn
ฟังก์ชันสิ้นสุด
-
' ประมวลผลข้อมูลไบนารี่
-
ฟังก์ชั่นส่วนตัว bytes2BSTR (vIn)
strReturn = ""
สำหรับ i = 1 ถึง LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
ถ้า ThisCharCode < &H80 แล้ว
strReturn = strReturn & Chr(ThisCharCode)
อื่น
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
ฉัน = ฉัน + 1
สิ้นสุดถ้า
ต่อไป
bytes2BSTR = strReturn
ฟังก์ชันสิ้นสุด
-
' ออกจากระบบโมดูลชั้นเรียน
-
Class_Terminate ย่อยส่วนตัว
oแบบฟอร์ม = ""
ตั้งค่า oXml = ไม่มีเลย
ตั้งค่า Ados=ไม่มีอะไร
จบหมวดย่อย
จบคลาส
%>
google.asp
<%
Const GOOGLE_MAGIC = &HE6359A60
ฟังก์ชัน sl(ByVal x, ByVal n)
ถ้า n = 0 แล้ว
สล = x
อื่น
ดิม เค
k = CLng(2 ^ (32 - n - 1))
ดิม ดี
d = x และ (k - 1)
ดิม ค
ค = ง * CLng(2^n)
ถ้า x และ k แล้ว
ค = ค หรือ &H80000000
สิ้นสุดถ้า
สล = ค
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นส่วนตัว uadd (ByVal L1, ByVal L2)
หรี่ L11, L12, L21, L22, L31, L32
L11 = L1 และ &HFFFFFF
L12 = (L1 และ &H7F000000) &H1000000
ถ้า L1 < 0 ดังนั้น L12 = L12 หรือ &H80
L21 = L2 และ &HFFFFFF
L22 = (L2 และ &H7F000000) &H1000000
ถ้า L2 < 0 ดังนั้น L22 = L22 หรือ &H80
L32 = L12 + L22
L31 = L11 + L21
ถ้า (L31 และ &H1000000) แล้ว L32 = L32 + 1
uadd = (L31 และ &HFFFFFF) + (L32 และ &H7F) * &H1000000
ถ้า L32 และ &H80 ดังนั้น uadd = uadd หรือ &H80000000
ฟังก์ชันสิ้นสุด
ฟังก์ชันมิกซ์ (ByVal ia, ByVal ib, ByVal ic)
หรี่ a, b, c
ก = ไอเอ
ข=ไอบี
ค = ไอซี
ก = ยูเอสบี(ก, ข)
ก = usb(ก, ค)
a = a X หรือ zeroFill(c, 13)
b = usb(b, c)
ข = ยูเอสบี(ข, ก)
b = b Xหรือ sl(a, 8)
b = usb(b, c)
ข = ยูเอสบี(ข, ก)
b = b Xหรือ sl(a, 10)
c = usb(c, a)
ค = ยูเอสบี(ค, ข)
c = c X หรือ zeroFill(b, 15)
Dim ret(3)
ret(0) = a
ซ้ำ(1) = ข
ret(2) = c
ผสม = ret
ฟังก์ชันสิ้นสุด
ฟังก์ชัน gc(ByVal s, ByVal i)
gc = Asc(กลาง(s, i + 1, 1))
ฟังก์ชันสิ้นสุด
ฟังก์ชัน GoogleCH(ByVal sUrl)
หรี่ iLength, a, b, c, k, iLen, m
iLength = Len(sUrl)
a = &H9E3779B9
ข = &H9E3779B9
ค = GOOGLE_MAGIC
k = 0
iLen = iLength
ทำในขณะที่ iLen >= 12
a = uadd(a, (uadd(gc(sUrl, k + 0), uadd(sl(gc(sUrl, k + 1), 8), uadd(sl(gc(sUrl, k + 2), 16), sl(gc(sUrl, k + 3), 24))))))
b = uadd(b, (uadd(gc(sUrl, k + 4), uadd(sl(gc(sUrl, k + 5), 8), uadd(sl(gc(sUrl, k + 6), 16), sl(gc(sUrl, k + 7), 24)))))
m = ผสม(a, b, c)
a = m(0)
ข = ม(1)
c = m(2)
k = k + 12
iLen = iLen - 12
วนซ้ำ
c = uadd(c, iLength)
Select Case iLen ' คำสั่ง case ทั้งหมดจะผ่าน
กรณีที่ 11
c = uadd(c, sl(gc(sUrl, k + 10), 24))
c = uadd(c, sl(gc(sUrl, k + 9), 16))
c = uadd(c, sl(gc(sUrl, k + 8), 8))
b = uadd(b, sl(gc(sUrl, k + 7), 24))
b = uadd(b, sl(gc(sUrl, k + 6), 16))
b = uadd(b, sl(gc(sUrl, k + 5), 8))
กรณีที่ 10
c = uadd(c, sl(gc(sUrl, k + 9), 16))
c = uadd(c, sl(gc(sUrl, k + 8), 8))
b = uadd(b, sl(gc(sUrl, k + 7), 24))
b = uadd(b, sl(gc(sUrl, k + 6), 16))
b = uadd(b, sl(gc(sUrl, k + 5), 8))
b = uadd(b, gc(sUrl, k + 4))
กรณีที่ 9
c = uadd(c, sl(gc(sUrl, k + 8), 8))
b = uadd(b, sl(gc(sUrl, k + 7), 24))
b = uadd(b, sl(gc(sUrl, k + 6), 16))
b = uadd(b, sl(gc(sUrl, k + 5), 8))
b = uadd(b, gc(sUrl, k + 4))
a = uadd(a, sl(gc(sUrl, k + 3), 24))
a = uadd(a, sl(gc(sUrl, k + 2), 16))
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 8
b = uadd(b, sl(gc(sUrl, k + 7), 24))
b = uadd(b, sl(gc(sUrl, k + 6), 16))
b = uadd(b, sl(gc(sUrl, k + 5), 8))
b = uadd(b, gc(sUrl, k + 4))
a = uadd(a, sl(gc(sUrl, k + 3), 24))
a = uadd(a, sl(gc(sUrl, k + 2), 16))
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 7
b = uadd(b, sl(gc(sUrl, k + 6), 16))
b = uadd(b, sl(gc(sUrl, k + 5), 8))
b = uadd(b, gc(sUrl, k + 4))
a = uadd(a, sl(gc(sUrl, k + 3), 24))
a = uadd(a, sl(gc(sUrl, k + 2), 16))
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 6
b = uadd(b, sl(gc(sUrl, k + 5), 8))
b = uadd(b, gc(sUrl, k + 4))
a = uadd(a, sl(gc(sUrl, k + 3), 24))
a = uadd(a, sl(gc(sUrl, k + 2), 16))
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 5
b = uadd(b, gc(sUrl, k + 4))
a = uadd(a, sl(gc(sUrl, k + 3), 24))
a = uadd(a, sl(gc(sUrl, k + 2), 16))
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 4
a = uadd(a, sl(gc(sUrl, k + 3), 24))
a = uadd(a, sl(gc(sUrl, k + 2), 16))
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 3
a = uadd(a, sl(gc(sUrl, k + 2), 16))
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 2
a = uadd(a, sl(gc(sUrl, k + 1), 8))
a = uadd(a, gc(sUrl, k + 0))
กรณีที่ 1
a = uadd(a, gc(sUrl, k + 0))
สิ้นสุดการเลือก
m = mix(a, b, c)
GoogleCH = m(2)
ฟังก์ชันสิ้นสุด
ฟังก์ชัน CalculateChecksum(sUrl)
คำนวณ Checksum = "6" & CStr(GoogleCH("ข้อมูล:" & sUrl))
ฟังก์ชันสิ้นสุด
%>
PR.asp
<!--#include file="google.asp"-->
<!--#include file="Cls_AspHttp.asp"-->
-
ย่อย Rw(Str)
การตอบสนองเขียน Str & vbCrLf
การตอบสนองฟลัช
สิ้นสุด
ฟังก์ชันย่อย HttpGet (lresolveTimeout, lconnectTimeout, เมธอด, Url, ผู้อ้างอิง, ข้อมูล, SetCookie, ภาษา, เนื้อหา, ตัวแทน, การเข้ารหัส, ยอมรับ, CodeBase)
ตั้งค่า DoGet = FlyCms_AspHttp ใหม่
DoGet.lresolveTimeout = lresolveTimeout
DoGet.lconnectTimeout = lconnectTimeout
DoGet.lsendTimeout = lsendTimeout
DoGet.lreceiveTimeout = lreceiveTimeout
DoGet.Method = วิธีการ
DoGet.Url = URL
DoGet.Referer = ผู้อ้างอิง
DoGet.Data = ข้อมูล
DoGet.SetCookie = SetCookie
DoGet.Language = ภาษา
DoGet.CONTENT = เนื้อหา
DoGet.Agent = ตัวแทน
DoGet.Encoding = การเข้ารหัส
DoGet.Accept = ยอมรับ
DoGet.CodeBase = CodeBase
HttpGet = DoGet.HttpGet()
ตั้งค่า DoGet = ไม่มีเลย
ฟังก์ชันสิ้นสุด
ฟังก์ชัน GGPR(ByVal URL)
Dim strRet
sURL = " http://www.google.com/search?client=navclient&ch =" & คำนวณตรวจสอบ(URL) & "&features=Rank&q=info:" & URL
Rw "ที่อยู่แบบสอบถาม: " & sURL & "<br />"
strRet = HttpGet(10,000,10000,20000,20000,"GET",sUrl,"", "", "zh-cn", "" Mozilla/4.0 (เข้ากันได้; MSIE 6.0; Windows NT 5.1) ",",*/*,,"gb2312")
ถ้า InStr(strRet,///) แล้ว
R = แยก (strRet, ///)
GGPR = ร(2)
อื่น
GGPR = 0
สิ้นสุดถ้า
Rw "ผลลัพธ์ที่ส่งคืน: " & strRet & "<br />"
Rw " ค่าประชาสัมพันธ์: " & GGPR & "<br />"
ฟังก์ชั่นสิ้นสุด
iURL = คำขอ ("iURL")
ถ้า iURL="" ดังนั้น iURL = " http://www.downcodes.com "
โทรGGPR(iURL)
-
<html>
<หัว></หัว>
<title>คำค้นหา Google Pagerank (หัวขโมยคำค้นหา)</title>
<ร่างกาย>
<h1>ป้อนที่อยู่ของหน้าให้ครบถ้วนเพื่อตรวจสอบอันดับของหน้า (ค่า PR ของหน้า):</h1>
<รูปแบบการกระทำ = "" วิธีการ = "โพสต์">
URL <input type="text" name="iURL" style="width:200px" /><input type="submit" value="pr query" />
</แบบฟอร์ม>
</ร่างกาย>
<html>