http://www.im286.com/viewthread.php؟tid=1550010&extra=page٪3d1
في الواقع ، تمت مناقشة هذه القضية
تم ذكر Care4 أيضًا مرتين ، لذلك إذا كان لديك أي مشاكل ، فمن الأفضل البحث أولاً ، ربما قام شخص ما بحل المشكلة
http://www.im286.com/viewthread. ... ؛ تسليط الضوء = ٪ 2BCare4
http://www.im286.com/viewthread. ... ؛ تسليط الضوء = ٪ 2BCare4
أحد العيوب الصغيرة لرمز Care4 هو أنه يتطلب مكونات.
الأول هو .NET Component 2 ، ولكن ليس من المناسب دائمًا استخدام المكونات. هل هناك أي طريقة للحصول على ASP مباشرة؟
هناك إجابة
لقد كتبت رمز VB Simple Winsock للحصول على
http://www.im286.com/viewthread. ... t = response.redirect
في ذلك الوقت ، قلت إنه لا يمكنني الحصول عليها مع ASP ، لأنني لم أذهب إلى CSSDN في ذلك الوقت ، والآن انتهيت.
أولاً ، نحتاج إلى أن نفهم لماذا لا يمكن لمكون XMLHTTP الحصول على عنوان القفز هذا
استخدام الاستجابة. Repirect للقفز ، و PHP هو الرأس ("الموقع" ، $ url) ؛
مبدأ كلتا الطريقتين هو نفسه ، وهو إضافة حقل موقع إلى رأس HTTP الإخراج
في الوقت نفسه ، قم بتعيين قيمة حالة HTTP التي تم إرجاعها إلى 302 ، وسيعتبر المتصفح أن الصفحة المطلوبة حاليًا كانت
انتقل إلى المسار المحدد حسب الموقع
فلماذا لا يمكن الحصول على XMLHTTP؟
السبب بسيط للغاية
يكون مكون XMLHTTP ذكيًا جدًا عند معالجة 302 رسالة تحتوي على رؤوس الموقع ، لذلك يقفز مباشرة إلى الصفحة الأخيرة ، مما يعني أنه لا يمكننا رؤية العملية الوسيطة! بيل ذكي!
لحسن الحظ ، يوفر MSXML4 مكونًا جديدًا متاحًا: winhttp.winhttprequest.5.1 ، وهو أيضًا جوهر مكون MSXML4 XMLHTTP. winhttp.winhttprequest لديه خاصية مهمة للغاية: الخيار. يشير الفهرس السادس لهذه الخاصية إلى ما إذا كان سيقفز تلقائيًا. بعد ذلك ، يمكنك بسهولة استخدام أساليب GetResponseHeader و GetAllResponseHeaders لمكون XMLHTTP للحصول على معلومات رأس HTTP التي تم إرجاعها.
حسنًا ، دعونا نلقي نظرة على الرمز التالي
قاتمة OHTTP
اضبط OHTTP = server.createBject ("winhttp.winhttprequest.5.1"
OHTTP.OPTION (6) = 0 'يتم حظر إعادة التوجيه التلقائي ، والشيء الأكثر أهمية هو قراءة البيانات ببساطة ، ويقدر أن الجميع سيفعلون ذلك.
OHTTP.Settimeouts 5000،5000،30000،5000'SET TINE
OHTTP.Open "Get" ، url ، url "خطأ" في وضع متزامن
إذا كان OHTTP.STATUS <> 200 و OHTTP.STATUS <> 302 ثم
'OHTTP.STATUS المقابلة لحالة HTTP التي تم إرجاعها. إذا كان 200 ، فهذا يعني أن هذه هي الصفحة النهائية وليس هناك قفزة في الموقع
"إذا كان 302 ، فهذا يعني أن عنوان URL للطلب الحالي قد تم نقله ويجب إعادة توجيهه وفقًا لرأس HTTP.
"نحن في الأساس لا نتعامل مع الحالات مع قيم رقمية أخرى ، ولكن يمكنك التعامل معها مثل 440 أو حالات أخرى بنفسك!
آخر
تتم معالجة رأس HTTP ومحتوى المستند الذي تم إرجاعه هنا
إنهاء إذا
حسنًا ، الرمز الكامل أطول
لقد مررته إلى الفضاء لرؤيته بنفسي
http://test.aymtv.com/url.asp
الرمز في شريط الإدخال الافتراضي هو عنوان تنزيل CRSKY. يمكنك اختباره ومعرفته
انقر لعرض الرمز المصدر لمشاهدة الكود المصدري لملف ASP هذا!
يتم كل شيء. استمر في الذهاب إلى CSDN والخلط
رمز كامل: