التحقق مما إذا كان خادم ويب آخر يستمع من asp

StackOverflow https://stackoverflow.com/questions/91223

  •  01-07-2019
  •  | 
  •  

سؤال

أنا أستخدم Microsoft.XMLHTTP للحصول على بعض المعلومات من خادم آخر من موقع ASP/VBScript قديم.ولكن يتم إعادة تشغيل هذا الخادم الآخر في كثير من الأحيان، لذلك أريد التحقق من أنه يعمل قبل محاولة سحب المعلومات منه (أو تجنب صفحتي من إعطاء HTTP 500 عن طريق اكتشاف المشكلة بطريقة أخرى).

كيف يمكنني القيام بذلك مع ASP؟

هل كانت مفيدة؟

المحلول

كل ما عليك فعله هو متابعة الكود عند حدوث خطأ، ثم النشر على الخادم الآخر وقراءة الحالة من النشر.شيء من هذا القبيل:

PostURL = homelink & "CustID.aspx?SearchFlag=PO"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.3.0")

خطأ في الصفحة، إذهب للتالي

xmlhttp.open "POST", PostURL, false
xmlhttp.send ""

الحالة = xmlhttp.status

if err.number <> 0 or status <> 200 then
    if status = 404 then
        Response.Write "ERROR: Page does not exist (404).<BR><BR>"
    elseif status >= 401 and status < 402 then
        Response.Write "ERROR: Access denied (401).<BR><BR>"
    elseif status >= 500 and status <= 600 then
        Response.Write "ERROR: 500 Internal Server Error on remote site.<BR><BR>"
    else
        Response.write "ERROR: Server is down or does not exist.<BR><BR>"
    end if
else
    'Response.Write "Server is up and URL is available.<BR><BR>"
    getcustomXML = xmlhttp.responseText
end if
set xmlhttp = nothing

نصائح أخرى

يمكنك محاولة إجراء اختبار ping على الخادم والتحقق من الاستجابة.تفقد هذا شرط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top