Google 페이지 순위 쿼리 시스템(제3자 웹사이트 데이터를 훔치지 않음)은 이 프로그램의 세 가지 예제 페이지와 함께 제공되며 원격 획득 범주는
Google 페이지 순위 쿼리 페이지 데모: http://www.knowsky.com/tools/에
매우 좋습니다.세페이지:
CLS_Asphttp.asp
<%
클래스 FlyCms_AspHttp
공개 oForm,oXml,Ados
공개 strHeaders
공개 메소드
공개 URL
공개 추천자
공개 sSetCookie
공공언어
공개 sCONTENT
공공 에이전트
공개 sEncoding
공개 승인
공개 sData
공개 sCodeBase
비공개 slresolveTimeout,slconnectTimeout,slsendTimeout,slreceiveTimeout
' ============================================
'클래스 모듈 초기화
' ============================================
비공개 하위 클래스_Initialize()
o양식 = ""
oXml = Server.CreateObject("MSXML2.ServerXMLHTTP")로 설정
Ados = Server.CreateObject("Adodb.Stream") 설정
slresolveTimeout = 20000 'DNS 이름 확인 시간 초과, 20초
slconnectTimeout = 20000 ' Winsock 연결 설정 시간 제한, 20초
slsendTimeout = 30000 ' 데이터 전송 시간 초과, 30초
slreceiveTimeout = 30000 ' 응답 수신 시간 초과, 30초
끝 하위
' =============================================
'DNS 이름 확인 시간 초과
' ============================================
공용 속성 Let lresolveTimeout(LngSize)
IsNumeric(LngSize)이면
slresolveTimeout = Clng(LngSize)
종료 조건
끝 속성
' ============================================
' Winsock 연결 설정 시간 초과
' ============================================
공용 속성 Let lconnectTimeout(LngSize)
IsNumeric(LngSize)이면
slconnectTimeout = Clng(LngSize)
종료 조건
끝 속성
' ============================================
' 데이터 전송 시간 초과
' ============================================
공용 속성 Let lsendTimeout(LngSize)
IsNumeric(LngSize)이면
slsendTimeout = Clng(LngSize)
종료 조건
끝 속성
' ============================================
' 응답 수신 시간 초과
' ============================================
공용 속성 lreceiveTimeout(LngSize)을 허용합니다.
IsNumeric(LngSize)이면
slreceiveTimeout = Clng(LngSize)
종료 조건
끝 속성
' ============================================
'방법
' ============================================
공용 속성 Let 메서드(strMethod)
s메소드 = str메소드
끝 속성
' ============================================
'URL 보내기
' ============================================
공공 자산 Let Url(strUrl)
sUrl = strUrl
끝 속성
' ============================================
'데이터
' ============================================
공개 속성 Let Data(strData)
sData = strData
끝 속성
' ============================================
'추천인
' ============================================
공공 재산 Let Referer(strReferer)
sReferer = strReferer
끝 속성
' ============================================
'세트쿠키
' ============================================
공공 재산 Let SetCookie(strCookie)
sSetCookie = strCookie
끝 속성
' ============================================
'언어
' ============================================
공공 재산 Let Language(strLanguage)
sLanguage = strLanguage
끝 속성
' ============================================
'콘텐츠 유형
' ============================================
공공 재산 Let CONTENT(strCONTENT)
sCONTENT = strCONTENT
끝 속성
' ============================================
'사용자 에이전트
' ============================================
공공 부동산 임대 대리인(strAgent)
sAgent = strAgent
끝 속성
' ============================================
'인코딩 허용
' ============================================
공용 속성 Let 인코딩(strEncoding)
sEncoding = strEncoding
끝 속성
' ============================================
'수용하다
' ============================================
공공 재산 허용(strAccept)
sAccept = strAccept
끝 속성
' ============================================
'코드베이스
' ============================================
공용 속성 Let CodeBase(strCodeBase)
sCodeBase = strCodeBase
끝 속성
' ============================================
'데이터 전송 방향을 만들어라!
' ============================================
공용 함수 AddItem(키, 값)
오류 발생 시 다음 재개
희미한 온도 강도
oForm = ""인 경우 다음
oForm = 키 + "=" + Server.URLEncode(값)
또 다른
oForm = oForm + "&" + 키 + "=" + Server.URLEncode(값)
종료 조건
기능 종료
' ============================================
'데이터 보내기 및 원격 데이터 검색
' ============================================
공개 함수 HttpGet()
희미한 반환
oXml 사용
.setTimeouts slresolveTimeout,slconnectTimeout,slsendTimeout,slreceiveTimeout
.Open sMethod,sUrl,False
sSetCookie<>""인 경우 다음
.setRequestHeader "쿠키", sSetCookie '쿠키 설정
종료 조건
sReferer<>""인 경우 다음
.setRequestHeader "Referer", sReferer '페이지 소스 설정
또 다른
.setRequestHeader "리퍼러", sUrl
종료 조건
sLanguage<>""인 경우
.setRequestHeader "Accept-Language", sLanguage '언어 설정
종료 조건
.setRequestHeader "Content-Length",Len(sData) '데이터 길이 설정
sCONTENT<>""인 경우
.setRequestHeader "CONTENT-Type",sCONTENT '허용되는 데이터 유형 설정
종료 조건
sAgent<>""인 경우
.setRequestHeader "User-Agent", sAgent '브라우저 설정
종료 조건
sEncoding<>""인 경우 다음
.setRequestHeader "Accept-Encoding", sEncoding 'gzip 압축 설정
종료 조건
sAccept<>""인 경우
.setRequestHeader "Accept", sAccept '문서 유형
종료 조건
응답.sData 쓰기
.sData 보내기 '데이터 보내기
.readyState <> 4 동안
.waitForResponse 1000
향하게 하다
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
기능 종료
' ============================================
' 클래스 모듈 로그아웃
' ============================================
비공개 하위 클래스_종료
o양식 = ""
oXml = 없음으로 설정
Ados=아무것도 설정하지 않음
서브 끝
수업 종료
%>
google.asp
<%
Const GOOGLE_MAGIC = &HE6359A60
함수 sl(ByVal x, ByVal n)
n = 0이면
sl = x
또 다른
희미한 k
k = CLng(2 ^ (32 - n - 1))
희미한 d
d = x 그리고 (k - 1)
희미한 c
c = d * CLng(2^n)
x와 k이면
c = c 또는 &H80000000
종료 조건
sl = c
종료 조건
기능 종료
개인 함수 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
a = ia
b=ib
c = ic
a = usub(a, b)
a = usub(a, c)
a = a Xor zeroFill(c, 13)
b = usub(b, c)
b = usub(b, a)
b = b Xor sl(a, 8)
b = usub(b, c)
b = usub(b, a)
b = b Xor sl(a, 10)
c = usub(c, a)
c = usub(c, b)
c = c Xor zeroFill(b, 15)
Dim ret(3)
ret(0) = a
ret(1) = b
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
b = &H9E3779B9
c = GOOGLE_MAGIC
k = 0
iLen = i길이
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 = mix(a, b, c)
a = m(0)
b = m(1)
c = m(2)
k = k + 12
iLen = iLen - 12
Loop
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)
CalculateChecksum = "6" & CStr(GoogleCH("info:" & sUrl))
기능 종료
%>
PR.asp
<!--#include file="google.asp"-->
<!--#include 파일="Cls_AspHttp.asp"-->
<%
하위 Rw(Str)
Response.Write Str & vbCrLf
응답.플러시
종료 하위
함수 HttpGet(lresolveTimeout,lconnectTimeout,Method,Url,Referer,Data,SetCookie,Language,CONTENT,Agent,Encoding,Accept,CodeBase)
DoGet = New 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 = 코드베이스
HttpGet = DoGet.HttpGet()
DoGet = 아무것도 설정하지 않음
종료 기능
기능 GGPR(ByVal URL)
희미한 strRet
sURL = " http://www.google.com/search?client=navclient&ch =" & CalculateCheck(URL) & "&features=Rank&q=info:" & URL
Rw "쿼리 주소: " & sURL & "<br />"
strRet = HttpGet(10000,10000,20000,20000,"GET",sUrl,"","","","zh-cn","","Mozilla/4.0(호환; MSIE 6.0; Windows NT 5.1) ","","*/*","gb2312")
InStr(strRet,":") 그러면
R = 분할(strRet,":")
GGPR = R(2)
또 다른
GGPR = 0
종료 조건
Rw "반환 결과: " & strRet & "<br />"
Rw " PR 값: " & GGPR & "<br />"
함수 종료
iURL = Request("iURL")
iURL=""인 경우 iURL = " http://www.downcodes.com "
통화GGPR(iURL)
%>
<html>
<헤드></헤드>
<title>Google Pagerank 쿼리(pr 쿼리 도둑)</title>
<본문>
<h1>페이지 순위를 확인하려면 전체 페이지 주소를 입력하세요(페이지 PR 값):</h1>
<form action="" method="post">
URL <input type="text" name="iURL" style="width:200px" /><input type="submit" value="pr query" />
</form>
</body>
<html>