Hola a todos, tengo unos problemas con un programa que he hecho en asp que me verifica si un link esta roto o no, y es que me da cuando verifico un número elevado de links(a partir de 130 me empieza a dar problemas) un error de Timed Out.Al principio pensé en poner a server.ScriptTimeout un valor muy alto, para que dejase de darme el problema, y algo solucionó pero me sigue dando el mismo problema.
El 2º error que me da es cuando el link está roto pero el error en vez de ser Not Found(404) me da al abrir el link el error "No se puede mostrar la página", y el programa casca diciendome :
Tipo de error:
msxml3.dll (0x80072EE7)
The server name or address could not be resolved.
3º que diferecia hay entre una página con bad request o que este ok, porque los links que están correctos me pone OK, pero otros que supuestamente tambien estan correctos, porque al abrirlos te aparece la página, me devuelve BAD REQUEST y no se porqu es.
Bueno espero que alguien pueda ayudarme muchas gracias de todas formas hasta luego.
Por cierto el programa es este, que casi se me olvida:
Código:
<%
Set miconexion=Server.CreateObject("ADOdb.Connection")
miconexion.Open "Mibasededatos"
Set rs=miconexion.execute("select * from links")
cont_ofertas=0
cont_caducadas=0
cont_ok=0
while not rs.eof
link=rs("link")
if len(link)>0 then
cont_ofertas=cont_ofertas+1
%><tr><td><a href="<%=link%>" target="_blank"><%response.Write(link)%></a></td>
<td align="center"><%Response.write(GetHTML(link,cont_caducada,cont_ok))%></td>
</tr><%
end if
rs.movenext
wend
%>
</table>
<table>
<tr>
<td><%response.Write("El numero de links revisados son " & cont_ofertas)%></td>
</tr>
<tr>
<td>
<%response.Write("El numero de links caducados son: " & cont_caducadas)%>
</td>
</tr>
<tr>
<td>
<%response.Write("El numero de links correctos son: " & cont_ok)%>
</td>
</tr>
</table>
<%
Function GetHTML(strURL,cont_caducada,cont_ok)
Dim objXMLHTTP, strReturn, strHTML
Set objXMLHTTP = SErver.CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "GET", strURL, False
objXMLHTTP.setRequestHeader "Accept-Language", "sp"
objXMLHTTP.setRequestHeader "Pragma", "no-cache"
objXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objXMLHTTP.SetRequestHeader "Content-Type", "text/html"
objXMLHTTP.SetRequestHeader "charset", "iso-8859-1"
objXMLHTTP.Send
if objXMLHTTP.statusText<>"OK" and objXMLHTTP.statusText<>"Found" then
if objXMLHTTP.statusText="Not Found" or objXMLHTTP.statusText="Object Not Found" then
cont_caducadas=cont_caducadas+1
response.Write (objXMLHTTP.statustext)
end if
else
cont_ok=cont_ok+1
Response.write objXMLHTTP.statustext
end if
Set objXMLHTTP = Nothing
End Function