Appears during collection:
msxml3.dll error '800c0005'
The specified resource was not found in the system.
/Admin/Item/Admin_ItemFunction.asp, line 166
I checked the information:
When writing programs using the xmlhttp component, you will encounter "msxml3.dll error '800c0005' The system did not find the specified resource." There are many explanations for the cause of this error on the Internet. Generally speaking, it is caused by the firewall or UDP station port permissions, and a corresponding solution is also mentioned. Others may not be the case sometimes. In fact, the wrong description states the main reason "the system did not find the specified resource." This error occurs when the Open method of the xmlhttp component is called and then the Send method is used. When the url parameter of the open method is inaccessible, an error of 8000005 will be caused. And once this error occurs, the application will terminate and the operation will not be able to continue. Most of the programs are written like this:
FunctionfunctionName(pararm...)
DimHttp
SetHttp=Server.CreateObject("MSXML2.XMLHTTP.4.0")
WithHttp
.open"GET",HttpUrl,False
.Send
EndWith
IfHttp.Readystate<>4then
SetHttp=Nothing
......
Exitfunction
Endif
EndFunction
Most programs use the Readystate attribute of xmlhttp to determine the return status from the server. In fact, this may not be suitable. Many times, using the ReadyState attribute to judge cannot truly detect errors in the program flow. When an error is encountered, the program will still be terminated. In fact, modifying the above code can completely skip the errors encountered during the execution of the program and keep the program running. Modify the code as follows:
FunctionfunctionName(pararm...)
DimHttp
SetHttp=Server.CreateObject("MSXML2.XMLHTTP.4.0")
WithHttp
.open"GET",HttpUrl,False
.Send
EndWith
OnErrorResumeNext
IfHttp.Status<>200then
SetHttp=Nothing
......
Exitfunction
Endif
EndFunction
When the Send method generates an error, the ReadyState value may be 4, but the return value of Status must not be 200. Haha, I have followed ReadyState and Status many times to get the previous results. There may be errors, and I haven't noticed it yet.
I hope the above program solution can help you!! If you have a better solution for your friend, please tell me.
I am a program that uses MSXML2.XMLHTTP.4.0 as an example, and it is also suitable for other versions of XMLHTTP components. To check which versions of XMLHTTP components have been installed in your system, please go to HKEY_CLASSES_ROOT in the registry to find them.
Based on the above information, I only made the following modifications to collect them normally without any operation such as installing components, restarting, closing the firewall, etc.:
/Admin/Item/Admin_ItemFunction.asp, near line 166:
Http.Send()
IfHttp.Readystate<>4then