8 de septiembre de 2012

Chequear el estado de un sitio de Internet

En una consulta en el foro de la Comunidad de Visual FoxPro en Español, Daniel preguntaba cómo chequear si un sitio específico de Internet daba error (por ejemplo 404).

Esto podría hacerse usando un request HTTP con Microsoft.XMLHTTP, a continuación un ejemplo simple:
#define HTTP_OK        200
CLEAR 
LOCAL oIE as InternetExplorer.Application

sUrl = "http://www.moogle.com.ar"

nStatus = CheckHttpConnection(sUrl)
IF nStatus==HTTP_OK
    oIE = CREATEOBJECT ("InternetExplorer.Application")
    WITH oIE
        .Visible = .T.
        .Navigate (sUrl)
        DO WHILE .Busy
            DOEVENTS 
        ENDDO

        * .Quit()
    ENDWITH
ELSE 
    ? sUrl, "error", nStatus
ENDIF 
RETURN 

FUNCTION CheckHttpConnection(sUrl)
LOCAL oHTTP AS Microsoft.XMLHTTP

oHTTP = CREATEOBJECT("Microsoft.XMLHTTP")
oHTTP.Open("GET", sUrl, .F.)
oHTTP.Send()
RETURN oHTTP.Status

Espero les sea de utilidad.

Saludos,

Mario Lopez