Imaginemos que tenemos una base de datos con enlaces y queremos checkear si éstos todavía existen, ¿Cómo podemos hacerlo desde asp con cierto éxito?
Código:
function enlace(url)
set http_obj = createObject("Microsoft.XMLHTTP")
ulr=request("url")
http_obj.Open "GET",url,false
On Error Resume Next
http_obj.Send()
if err.number <> 0 then
enlace=false
else
codigo = Server.HTMLEncode(http_obj.responseText)
if instr(codigo,"<title>No se encuentra la p&aacute;gina</title>")<>0 then
enlace=false
else
enlace=true
end if
if instr(codigo,"El sistema no puede hallar el archivo especificado")<>0 then
enlace=false
else
enlace=true
end if
if instr(codigo,"<title>Error</title>")<>0 then
enlace=false
else
enlace=true
end if
end if
end function
Por ejemplo si ponemos
<%=enlace("http://www.instruccionesymanuales.com")%>
nos devuelve "true"
si ponemos
<%=enlace("http://www.manualesangle.com.es")%>
no devuelve "false"
Ya se que se puede mejorar añadiendo más posibles mensajes de error y por eso os animo a que juntos lo hagamos.
Un saludo y suerte a todos
*Nota: la función tarda un poco en ejecutarse porque tiene que recoger todo el código html de la web que buscamos, por lo que si queremos checkear toda una base de datos sugiero que pongáis un Server.ScriptTimeout bastante alto