'********************************************************************************************************************************************************************************* * ******************************
'وظيفة (عامة)
'الاسم: وظيفة الجلب عن بعد
'الوظيفة: استخدم XMLHTTP لالتقاط البيانات عن بعد
'المعلمات: sMethod --- طريقة الإرسال
'sUrl ------ عنوان الهدف
iMode ----- نوع محتوى الإرجاع: 0 ثنائي، 1 نص، 2 ملف تعريف ارتباط، 3 معلومات رأس الملف
'sBase ----- ضبط الترميز
'sReferer - تحديد المصدر
' sCookie --- تعيين ملف تعريف الارتباط
'sLanguage - ضبط اللغة
'sData ----- قم بتعيين المعلمات المراد إرسالها
'sContent - قم بتعيين نوع البيانات المتلقية
' sAgent ---- ضبط المتصفح
'sEncoding - ضبط ضغط gzip
'sAccept --- تعيين نوع المستند
'********************************************************************************************************************************************************************************* * ******************************
الوظيفة العامة SenFe_StealData(sMethod, sUrl, iMode, sBase, sReferer, sCookie, sLanguage, sData, sContent, sAgent, sEncoding, sAccept)
خافت oXmlHttp: تعيين oXmlHttp = Server.CreateObject(Msxml2.ServerXMLHTTP)
مع أوكسملهتب
إذا كان sMethod= إذن sMethod=GET
.فتح sMethod، sUrl، خطأ
"تعيين مصدر الصفحة."
إذا كان المرجع<>ثم
.SetRequestHeaderReferer، sReferer
آخر
.SetRequestHeader المُحيل، سبليت (sUrl، /) (2)
نهاية إذا
إذا كان sCookie<> ثم .SetRequestHeader Cookie، sCookie 'Set Cookie
إذا كانت sLanguage<> ثم .SetRequestHeader تقبل اللغة، sLanguage 'تعيين اللغة
إذا كان sData<> ثم .SetRequestHeader Content-Length، Len(sData) 'قم بتعيين طول البيانات
إذا كان sContent<> ثم .SetRequestHeader Content-Type، sContent 'قم بتعيين نوع البيانات المقبول
إذا كان sAgent<> ثم .SetRequestHeader User-Agent، sAgent 'Set browser
إذا كان sEncoding <> ثم .SetRequestHeader يقبل التشفير، sEncoding 'Set gzip Pressure
إذا كان sAccept<> ثم يقبل .SetRequestHeader، sAccept 'نوع المستند
.إرسال البيانات
'بينما .ReadyState <> 4
' .انتظر الرد 1000
"اذهب."
إذا كان .ReadyState<>4 أو .Status<>200 إذن
SenFe_StealData = غير قادر على استرداد البيانات!
وظيفة الخروج
نهاية إذا
حدد حالة iMode
الحالة 0 SenFe_StealData = .ResponseBody
الحالة 1
إذا sBase<>ثم
SenFe_StealData = BytesToBstr(.ResponseBody, sBase)
آخر
SenFe_StealData = .ResponseText
نهاية إذا
الحالة 2 SenFe_StealData = .getResponseHeader(Set-Cookie)
حالة أخرى SenFe_StealData = .getAllResponseHeaders()
إنهاء التحديد
نهاية مع
وظيفة النهاية
'********************************************************************************************************************************************************************************* * ******************************
'الوظيفة: تحويل الترميز
'المعلمات: sBody - المحتوى المطلوب تحويله
"sCset - الترميز
'********************************************************************************************************************************************************************************* * ******************************
الدالة BytesToBstr(sBody, sCset)
مع أوادوس
.النوع = 1
الوضع = 3
.يفتح
.اكتب الجسم
.الموضع = 0
.النوع = 2
.تشارسيت = sCset
BytesToBstr = .ReadText
.يغلق
نهاية مع
وظيفة النهاية