هل لا يفهم العديد من الأصدقاء برنامج اللص؟ هل تعرف ما هو برنامج اللص؟ اليوم ، دعونا نلقي نظرة على كيفية تنفيذ ASP Alexa لبرنامج The Reaely Thief مع محرر Foxin. في الواقع ، هذه المشكلة ليست صعبة كما تخيلنا.
<٪
من أجل دعم الأصالة ، يرجى الاحتفاظ بالتعليقات هنا ، شكرًا لك!
المؤلف: Cao Shangfei
احصل على اسم المجال الرئيسي
وظيفة getDomainurl (url)
tempurl = استبدال (url ، "http: //" ، "")
إذا instr (tempurl ، "/")> 0 ثم
tempurl = left (tempurl ، instr (tempurl ، "/")-1)
إنهاء إذا
getDomainUrl = tempurl
وظيفة نهاية
وظيفة gethttppage (httpurl)
إذا isNull (httpurl) = true أو len (httpurl) <18 أو httpurl = "$ false $" ثم
gethttppage = "$ false $"
وظيفة الخروج
إنهاء إذا
خافت HTTP
تعيين http = server.createBject ("msxml2.xmlhttp")
http.open "get" ، httpurl ، false
http.send ()
إذا http.readyState <> 4 ثم
تعيين http = لا شيء
gethttppage = "$ false $"
وظيفة الخروج
إنهاء إذا
gethttppage = http.responsetext
تعيين http = لا شيء
إذا err.number <> 0 ثم
err.clear
إنهاء إذا
وظيفة نهاية
'================================================================
اسم الوظيفة: scripthtml
"الوظيفة: تصفية علامات HTML
'الحجج: const -----------------------------------------------------------------------------------------------------------------
'tagname ------- العلامات التي سيتم تصفيتها
"Ftype 1 يعني تصفية الملصق الأيسر 2 يعني تصفية الملصق الأيسر والقيمة الوسطى 3 يعني تصفية الملصق الأيسر والتسمية اليمنى ، مع الاحتفاظ بالمحتوى.
'================================================================
وظيفة scripthtml (byval connt ، tagname ، ftype ، incluptest)
قاتمة إعادة
تعيين re = جديد regexp
re.ignorecase = صحيح
re.global = صحيح
حدد CASE FTYPE
الحالة 1
re.pattern = "<" & tagname & "([^>])*(" & includeStR & ") {1 ،} ([^>])*>"
const = re.replace (const ، "")
الحالة 2
re.pattern = "<" & tagname & "([^>])*(" & includeStR & ") {1 ،} ([^>])*>.*؟ </" & tagname & "([^>])*>"
'Response.write constr & "<br>"
const = re.replace (const ، "")
'Response.write server.htmlencode (const) و "<br>"
الحالة 3
re.pattern = "<" & tagname & "([^>])*(" & includeStR & ") {1 ،} ([^>])*>"
const = re.replace (const ، "")
re.pattern = "</" & tagname & "([^>])*>"
const = re.replace (const ، "")
نهاية الاختيار
scripthtml = constr
تعيين إعادة = لا شيء
وظيفة نهاية
'================================================================
اسم الوظيفة: getBody
التأثير: اعتراض السلسلة
'الوسيطة: const ------- السلسلة المراد اعتراضها
'الحجج: StartStr ------ start string
'الحجج: Overstr ------- سلسلة النهاية
"المقالة: مينول ------- ما إذا كان يجب تضمين StartStr
'المقال: ادعاء --------- تشمل Overstr
'================================================================
وظيفة getBody (Const ، startstr ، overstr ، inmul ، reminur)
إذا كان condr = "$ false $" أو condr = "" أو isNull (condr) = true أو startStr = "" أو isNull (startStr) = true أو overstr = "" أو isnull (overstr) = true ثم
getBody = "$ false $"
وظيفة الخروج
إنهاء إذا
باهتة
بداية خافت ، انتهى
Constrtemp = lace (const)
startStr = lace (startstr)
Overstr = lace (overstr)
start = instr (1 ، constremp ، startStr ، vBbinarinyCompare)
'Response.write start & "<br>" & inmull & "<br>"
استجابة
إذا ابدأ <= 0 ثم
getBody = "$ false $"
وظيفة الخروج
آخر
إذا inclul = false ثم
ابدأ = ابدأ+lenb (startstr)
إنهاء إذا
إنهاء إذا
Over = instr (start ، constremp ، overstr ، vbbinbaninicompare)
'استجابة. write أكثر
استجابة
'Response.write start & "" & over & "" & vertart
استجابة
إذا كان أكثر من <= 0 أو أكثر <= ابدأ ثم
getBody = "$ false $"
وظيفة الخروج
آخر
إذا كان هناك ضم = صحيح ثم
Over = Over+Lenb (Overstr)
إنهاء إذا
إنهاء إذا
getBody = midb (const ، ابدأ ، مبالغ فيه)
'استجابة. write getBody
استجابة
وظيفة نهاية
'================================================================
اسم الوظيفة: getarray
الطريقة: استخراج عنوان الارتباط ، مفصولة بمجموعة $ $
'الحجة: constr ------- استخراج الشخصية الأصلية للعنوان
'الحجج: StartStr ------ start string
'الحجج: Overstr ------- سلسلة النهاية
"المقالة: مينول ------- ما إذا كان يجب تضمين StartStr
'المقال: ادعاء --------- تشمل Overstr
'================================================================
وظيفة getArray (Byval Constr ، StartStr ، Overstr ، inmul ، remulur)
إذا كان condr = "$ false $" أو condr = "" أو isNull (condr) = true أو startStr = "" أو overstr = "" أو isNull (startStr) = true أو isnull (overstr) = true ثم
getarray = "$ false $"
وظيفة الخروج
إنهاء إذا
Dim Tempstr ، TempStr2 ، objregexp ، Matches ، Match
tempstr = ""
تعيين objregexp = جديد regexp
objregexp.ignorecase = صحيح
objregexp.global = صحيح
objregexp.pattern = "(" & startStr & ").+؟ (" & overstr & ")"
تعيين المطابقات = objregexp.execute (const)
لكل مباراة في المباريات
tempstr = tempstr & "$ array $" & match.value
التالي
تعيين المباريات = لا شيء
إذا tempster = "" ثم
getarray = "$ false $"
وظيفة الخروج
إنهاء إذا
Tempster = يمين (Tempstr ، Len (TempSt) -7)
إذا inclul = false ثم
objregexp.pattern = startStr
tempstr = objregexp.replace (TempSt ، "")
إنهاء إذا
إذا كان هناك ضم = خطأ ثم
objregexp.pattern = overstr
tempstr = objregexp.replace (TempSt ، "")
إنهاء إذا
تعيين objregexp = لا شيء
تعيين المباريات = لا شيء
إذا tempster = "" ثم
getarray = "$ false $"
آخر
getarray = tempstr
إنهاء إذا
وظيفة نهاية
وظيفة getalexarank (WebUurl)
tempurl = getDomainurl (wewebrl)
"اقرأ البيانات في http://client.alexa.com/common/css/scramble.css
Alexacss = "http://client.alexa.com/common/css/scramble.css"
stralexacss = gethttppage (Alexacss)
'استجابة. write stralexacss
استجابة
Alexarankqueryurl = "http://www.alexa.com/data/details/traffic_details/" & tempurl
StralexAcontent = gethttppage (Alexarankqueryurl)
RankContent = getBody (StralexAcontent ، "خدمة المعلومات .-->" ، "<!-google_ad_section_end (name = افتراضي)->" ، خطأ ، خطأ)
احصل على فئة الامتداد فيه
strspan = getarray (RankContent ، "<span class =" "" ، "" "" ، false ، false)
'Response.write RankContent & "<br>"
'Response.write strspan & "<br>"
استجابة
إذا strspan <> "$ false $" ثم
Aspan = Split (Strspan ، "$ Array $")
لأني = 0 إلى Ubound (Aspan)
'Response.write "." & aspan (i)
حدد ما إذا كان Aspan (i) ، أي أن فئة الامتداد موجودة في Alexacss. إذا كانت موجودة ، يجب إزالة البيانات في Span والانتفاض.
إذا instr (stralexacss ، "." & aspan (i))> = 1 ثم
'Response.write aspan (i) و "<br>"
استجابة
'يعني أن الخاصية لا شيء. يجب استبداله.
RankContent = scripthtml (RankContent ، "span" ، 2 ، aspan (i))
آخر
RankContent = scripthtml (RankContent ، "span" ، 1 ، aspan (i))
إنهاء إذا
التالي
"استبدل علامة Span على اليمين التي تتم إزالتها أعلاه.
RankContent = استبدال (RankContent ، "</span>" ، "")
إنهاء إذا
إذا كان RankContent = "$ false $" ثم
RankContent = "لا بيانات"
إنهاء إذا
getalexarank = استبدال (RankContent ، "،" ، "،")
وظيفة نهاية
url = request.querystring ("url")
٪>
<name form = "alexaform" method = get>
أدخل عنوان url: <type type = "" name = "url" value = "<٪ = url ٪>" size = 40> <input type = "submit" value = "query">
</form>
<٪
إذا url <> "" ثم
Response.write "موقع الويب الخاص بك في Alexa على النحو التالي:"
استجابة
رتبة = getalexarank (url)
استجابة. رتبة رتبة
إنهاء إذا
٪>
ما سبق يدور حول كيف يمكن لـ ASP Alexa الاستعلام عن برنامج Thief. يقدم هذا المقال برنامجًا بسيطًا نسبيًا Alexa Thief. يمكن للأصدقاء الذين يحبون هذه الوظيفة تعلم مبادئها. أعتقد أنه يمكنك كتابة هذا البرنامج قريبًا.