Verstehen viele Freunde das Dieb -Programm nicht? Wissen Sie, was das Dieb -Programm ist? Schauen wir uns heute an, wie ASP Alexa das Query Thief -Programm mit dem Herausgeber von Foxin implementieren kann. Tatsächlich ist dieses Problem nicht so schwierig, wie wir es uns vorgestellt haben.
<%
„Um Originalität zu unterstützen, behalten Sie bitte die Kommentare hier, danke!
'Autor: Cao Shangfei
'Holen Sie sich den Hauptdomainnamen
Funktion getdomainurl (URL)
tempurl = ersetzen (url, "http: //", "")
Wenn Instrument (Tempurl, "/")> 0 dann
tempurl = links (tempurl, Instr (tempurl, "/")-1)
Ende wenn
GetDomainurl = tempurl
Endfunktion
Funktion Gethttppage (httpurl)
Wenn isnull (httpurl) = true oder len (httpurl) <18 oder httpurl = "$ false $" dann
Gethttppage = "$ false $"
Ausgangsfunktion
Ende wenn
Dim Http
Setzen Sie http = server.createObject ("msxml2.xmlhttp"))
Http.open "get", httpurl, false
Http.send ()
Wenn http.readystate <> 4 dann
Setzen Sie http = nichts
Gethttppage = "$ false $"
Ausgangsfunktion
Ende wenn
Gethttppage = http.responsetext
Setzen Sie http = nichts
Wenn err.number <> 0 dann
Err.clear
Ende wenn
Endfunktion
"===================================================================================================================
'Funktionsname: scripthtml
'Funktion: Filter -HTML -Tags filtern
'Argumente: Const ----------------------------------------------------------------------------------------------------------------------
'TagName ------- Tags, die gefiltert werden sollen
'Ftype 1 bedeutet, das linke Etikett 2 zu filtern bedeutet, das linke Etikett zu filtern und der mittlere Wert 3 bedeutet, das linke Etikett und die rechte Beschriftung zu filtern und den Inhalt beizubehalten.
"===================================================================================================================
Funktionscripthtml (Byval Const, Tagname, FTTYPE, einschließlich)
Dim Re
SET RE = New Regexp
Re.Innorecase = true
Re.global = true
Wählen Sie Case FTYPE
Fall 1
Re.Pattern = "<" & tagname & "([^>])*(" & includeStr & ") {1,} ([^>])*>"
Const = Re.Replace (Const, "")
Fall 2
Re.pattern = "<" & tagname & "([^>])*(" & includeStr & ") {1,} ([^>])*>.*? </" & Tagname & "([^>])*>"
'response.write Const & "<br>"
Const = Re.Replace (Const, "")
'response.write server.htmlencode (Const) & "<br>"
Fall 3
Re.Pattern = "<" & tagname & "([^>])*(" & includeStr & ") {1,} ([^>])*>"
Const = Re.Replace (Const, "")
Re.Pattern = "</" & tagname & "([^>])*>"
Const = Re.Replace (Const, "")
Ende auswählen
Scripthtml = Const
Setzen Sie Re = nichts
Endfunktion
"===================================================================================================================
'Funktionsname: Getbody
'Effekt: Abfangen die Zeichenfolge abfangen
'Argument: Const ------- Die zu abgefangene Zeichenfolge
'Argumente: StartStr ------ Start String
'Argumente: Overstr ------- End String
'Artikel: inclul ------- Ob StartStr einbezogen werden soll
'Artikel: inklu
"===================================================================================================================
Funktion Getbody (Const, StartStr, Overstr, inclul, inclur)
Wenn Const = "$ false $ $" oder Const = "" oder isnull (Const) = true oder startstr = "" oder isnull (startstr) = true oder overstr = "" oder isnull (overstr) = true dann dann
Getbody = "$ false $"
Ausgangsfunktion
Ende wenn
Dim Consttemp
Dim Start, vorbei
Consttemp = Lase (Const)
Startstr = lase (startstr)
Overstr = lase (overstr)
Start = instrb (1, ConstTemp, StartStr, vbBinaryCompare)
'response.write start & "<br>" & inclul & "<br>"
'response.end
Wenn Start <= 0 dann
Getbody = "$ false $"
Ausgangsfunktion
Anders
Wenn inclul = false dann
Start = start+lenb (startstr)
Ende wenn
Ende wenn
Over = Instrb (Start, ConstTemp, Overstr, vbBinaryCompare)
'response.write over
'response.end
'response.write start & "" & Over & "" & überstart
'response.end
Wenn über <= 0 oder über <= Start dann dann
Getbody = "$ false $"
Ausgangsfunktion
Anders
Wenn inclUr = wahr ist
Over = over+lenb (overstr)
Ende wenn
Ende wenn
Getbody = Midb (Const, Start, Over-Start)
'response.write Getbody
'response.end
Endfunktion
"===================================================================================================================
'Funktionsname: GetArray
Methode: Extrahieren Sie die Linkadresse, getrennt durch $ Array $
'Argument: Const ------- Extrahieren Sie das ursprüngliche Zeichen der Adresse
'Argumente: StartStr ------ Start String
'Argumente: Overstr ------- End String
'Artikel: inclul ------- Ob StartStr einbezogen werden soll
'Artikel: inklu
"===================================================================================================================
Funktion GetArray (Byval Const, Startstr, Overstr, inkluL, inklur)
Wenn Const = "$ false $" oder Const = "" oder isnull (Const) = true oder startstr = "" oder overstr = "" oder isnull (startstr) = true oder isnull (overstr) = true dann dann
GetArray = "$ false $"
Ausgangsfunktion
Ende wenn
Dim tempstr, tempstr2, objregexp, Übereinstimmungen, Match
Tempstr = ""
Setzen Sie objregexp = new regexp
objregexp.ignorecase = true
objregexp.global = true
objregexp.pattern = "(" & startstr & ").+? (" & overstr & ")"
Setzen Sie Matches = objregexp.execute (Const)
Für jedes Spiel in Spielen
Tempstr = tempstr & "$ array $" & match.value
Nächste
Setzen Sie Matches = nichts
Wenn tempstr = "" dann
GetArray = "$ false $"
Ausgangsfunktion
Ende wenn
Tempstr = rechts (tempstr, len (tempstr) -7)
Wenn inclul = false dann
objregexp.Pattern = startstr
Tempstr = objregexp.replace (tempstr, "")
Ende wenn
Wenn inklue = false dann
objregexp.Pattern = overstr
Tempstr = objregexp.replace (tempstr, "")
Ende wenn
Setzen Sie objregexp = nichts
Setzen Sie Matches = nichts
Wenn tempstr = "" dann
GetArray = "$ false $"
Anders
GetArray = tempstr
Ende wenn
Endfunktion
Funktion getalexarank (Webuurl)
tempurl = getdomainurl (wewebrl)
'Daten in http://client.alexa.com/common/css/scramble.csss lesen
Alexacss = "http://client.alexa.com/common/css/scramble.css"
Stralexacss = Gethttppage (Alexacss)
'response.write stralexacss
'response.end
AlexarankQueryurl = "http://www.alexa.com/data/details/traffic_details/" & tempurl
Stralexacontent = Gethttppage (AlexarankQueryurl)
RankContent = getBody (Stralexacontent, "Information Service .-->", "<!-Google_ad_section_end (Name = Standard)->", Falsch, Falsch)
'Holen Sie sich die Klasse der Spannweite darin
Strspan = getArray (RankContent, "<span class =" "", "" ", falsch, falsch)
'response.write rankcontent & "<br>"
'response.write strspan & "<br>"
'response.end
Wenn Strspan <> "$ false $" dann
Aspan = Split (Strspan, "$ array $")
Für i = 0 bis Ubound (Aspan)
'response.write'. "& Aspan (i)
'Bestimmen Sie, ob Aspan (i), d. H. Die Spannweite der Spannweite, in Alexacss existiert. Wenn es vorhanden ist, müssen die Daten in Spannweite und Spannweite entfernt werden.
Wenn Instrumente (Stralexacss, "." & Aspan (i))> = 1 Dann
'response.write Aspan (i) & "<br>"
'response.end
'bedeutet, dass die Eigenschaft keine ist. Es muss ersetzt werden.
RankContent = scripthtml (RankContent, "span", 2, Aspan (i))
Anders
RankContent = scripthtml (RankContent, "span", 1, Aspan (i))
Ende wenn
Nächste
'Ersetzen Sie das Span -Tag rechts, der oben weniger entfernt ist.
RankContent = ersetzen (RankContent, "</span>", "")
Ende wenn
Wenn RankContent = "$ false $ $" dann
RankContent = "Keine Daten"
Ende wenn
getalexarank = ersetzen (rankcontent, ",", ",")
Endfunktion
url = request.queryString ("url")
%>
<Formular name = "AlexaForm" -Methode = get>
Geben Sie die URL ein: <Eingabe type = "" name = "url" value = "<%= url%>" size = 40> <Eingabe type = "subg." Value = "query">
</form>
<%
Wenn url <> "" dann
Antwort.Write "Ihre Website ist bei Alexa als:"
Antwort.Flush
Rank = getalexarank (URL)
Antwort.Write Rang
Ende wenn
%>
In der oben genannten Ebene geht es darum, wie ASP Alexa das Diebesprogramm abfragen kann. In diesem Artikel wird ein relativ einfaches Programm zur Alexa -Thief vorgestellt. Freunde, die diese Funktion mögen, können ihre Prinzipien lernen. Ich glaube, dass Sie dieses Programm bald schreiben können.