Apparaît pendant la collection:
MSXML3.DLL ERREUR '800C0005'
La ressource spécifiée n'a pas été trouvée dans le système.
/Admin/item/admin_itemfunction.asp, ligne 166
J'ai vérifié les informations:
Lors de la rédaction de programmes à l'aide du composant XMLHTTP, vous rencontrerez "MSXML3.DLL ERROR '800C0005' Le système n'a pas trouvé la ressource spécifiée." Il existe de nombreuses explications sur la cause de cette erreur sur Internet. De manière générale, elle est causée par les autorisations de port de foyer ou de station UDP, et une solution correspondante est également mentionnée. D'autres peuvent ne pas être parfois le cas. En fait, la mauvaise description indique la principale raison "Le système n'a pas trouvé la ressource spécifiée". Cette erreur se produit lorsque la méthode ouverte du composant XMLHTTP est appelée, puis la méthode d'envoi est utilisée. Lorsque le paramètre URL de la méthode ouverte est inaccessible, une erreur de 8000005 sera causée. Et une fois cette erreur se produit, l'application se terminera et l'opération ne pourra pas continuer. La plupart des programmes sont écrits comme ceci:
Functionfunctionname (pararm ...)
Dimhttp
Sethttp = server.createObject ("msxml2.xmlhttp.4.0")
Avec
.Open "Get", httpurl, faux
.Envoyer
Fin
Ifhttp.readystate <> 4Then
Sethttp = rien
......
Sortie
Endire
Finition de fin
La plupart des programmes utilisent l'attribut ReadyState de XMLHTTP pour déterminer l'état de retour du serveur. En fait, cela peut ne pas convenir. Plusieurs fois, l'utilisation de l'attribut ReadyState au juge ne peut pas vraiment détecter les erreurs dans le flux du programme. Lorsqu'une erreur est rencontrée, le programme sera toujours terminé. En fait, la modification du code ci-dessus peut complètement ignorer les erreurs rencontrées lors de l'exécution du programme et maintenir le programme en cours d'exécution. Modifiez le code comme suit:
Functionfunctionname (pararm ...)
Dimhttp
Sethttp = server.createObject ("msxml2.xmlhttp.4.0")
Avec
.Open "Get", httpurl, faux
.Envoyer
Fin
Onerrorresumenext
Ifhttp.status <> 200Then
Sethttp = rien
......
Sortie
Endire
Finition de fin
Lorsque la méthode d'envoi génère une erreur, la valeur ReadyState peut être de 4, mais la valeur de retour du statut ne doit pas être de 200. Haha, j'ai suivi plusieurs fois ReadyState et Status pour obtenir les résultats précédents. Il peut y avoir des erreurs, et je ne l'ai pas encore remarqué.
J'espère que la solution de programme ci-dessus peut vous aider !! Si vous avez une meilleure solution pour votre ami, dites-moi.
Je suis un programme qui utilise msxml2.xmlhttp.4.0 comme exemple, et il convient également aux autres versions des composants XMLHTTP. Pour vérifier quelles versions des composants XMLHTTP ont été installées dans votre système, veuillez consulter HKEY_CLASSES_ROOT dans le registre pour les trouver.
Sur la base des informations ci-dessus, je n'ai apporté que les modifications suivantes pour les collecter normalement sans aucune opération telles que l'installation de composants, le redémarrage, la fermeture du pare-feu, etc.:
/Admin/item/admin_itemfunction.asp, près de la ligne 166:
Http.send ()
Ifhttp.readystate <> 4Then