Al escribir programas que usan el componente XMLHTTP, se encontrará con "MSXML3.DLL Error '800C0005' El sistema no encontró el recurso especificado". Hay muchas explicaciones para la causa de este error en Internet. En términos generales, es causado por el firewall o los permisos de puerto de la estación UDP, y también se menciona una solución correspondiente. Otros pueden no ser el caso a veces. De hecho, la razón principal de la descripción del error es "el sistema no encontró el recurso especificado". Este error ocurre cuando se llama el método abierto del componente XMLHTTP y luego se usa el método de envío. Cuando el parámetro URL del método abierto es inaccesible, se causará un error de 8000005. Y una vez que ocurra este error, la aplicación terminará y la operación no podrá continuar. La mayoría de los programas están escritos así:
FunctionFunctionName (Pararm ...)
Dimhttp
Sethttp = server.createObject ("msxml2.xmlhttp.4.0")
Sin
.open "Get", httpurl, falso
.Enviar
Fin
Ifhttp.readyState <> 4then
Sethttp = nada
......
Extinción
Endif
Función final
La mayoría de los programas utilizan el atributo ReadyState de XMLHTTP para determinar el estado de retorno del servidor. De hecho, esto puede no ser adecuado. Muchas veces, usar el atributo ReadyState to Judge no puede realmente detectar errores en el flujo del programa. Cuando se encuentra un error, el programa aún se terminará. De hecho, modificar el código anterior puede omitir completamente los errores encontrados durante la ejecución del programa y mantener el programa en funcionamiento. Modifique el código de la siguiente manera:
FunctionFunctionName (Pararm ...)
Dimhttp
Sethttp = server.createObject ("msxml2.xmlhttp.4.0")
Sin
.open "Get", httpurl, falso
.Enviar
Fin
OnerrorResumEnext
Ifhttp.status <> 200then
Sethttp = nada
......
Extinción
Endif
Función final
Cuando el método de envío genera un error, el valor de ReadyState puede ser 4, pero el valor de retorno del estado no debe ser 200. Jaja, he seguido ReadyState y el estado muchas veces para obtener los resultados anteriores. Puede haber errores, y aún no lo he notado.
¡Espero que la solución del programa anterior pueda ayudarlo! Si tiene una mejor solución para su amigo, por favor dígame.