Erscheint während der Sammlung:
MSXML3.DLL ERRAGE '800C0005'
Die angegebene Ressource wurde im System nicht gefunden.
/Admin/item/admin_itemfunction.asp, Zeile 166
Ich habe die Informationen überprüft:
Beim Schreiben von Programmen mithilfe der XMLHTTP -Komponente begegnen Sie "MSXML3.DLL ERRAGE '800C0005". Das System hat die angegebene Ressource nicht gefunden. Es gibt viele Erklärungen für die Ursache für diesen Fehler im Internet. Im Allgemeinen wird es durch die Hafenberechtigungen der Firewall oder der UDP Station verursacht, und es wird auch eine entsprechende Lösung erwähnt. Andere sind manchmal möglicherweise nicht der Fall. In der falschen Beschreibung heißt es den Hauptgrund "Das System hat die angegebene Ressource nicht gefunden". Dieser Fehler tritt auf, wenn die offene Methode der XMLHTTP -Komponente aufgerufen wird und dann die Send -Methode verwendet wird. Wenn der URL -Parameter der offenen Methode unzugänglich ist, wird ein Fehler von 8000005 verursacht. Sobald dieser Fehler auftritt, wird die Anwendung beendet und der Vorgang kann nicht fortgesetzt werden. Die meisten Programme sind so geschrieben:
FunktionsfunktionName (Pararm ...)
Dimhttp
Sethttp = server.createObject ("msxml2.xmlhttp.4.0")
Zurückgehalten
.Open "Get", httpurl, falsch
.Schicken
Endwith
IFHTTP.REYYSTATE <> 4Then
Sethttp = nichts
......
Ausgangsfunktion
Endif
Endfunktion
Die meisten Programme verwenden das ReadyState -Attribut von XMLHTTP, um den Rückgabestatus vom Server zu bestimmen. In der Tat ist dies möglicherweise nicht geeignet. Oft kann die Verwendung des ReadyState -Attributs für Richter Fehler im Programmfluss nicht wirklich erkennen. Wenn ein Fehler auftritt, wird das Programm weiterhin beendet. Das Ändern des oben genannten Codes kann die während der Ausführung des Programms aufgetretenen Fehler vollständig überspringen und das Programm aufrechterhalten. Ändern Sie den Code wie folgt:
FunktionsfunktionName (Pararm ...)
Dimhttp
Sethttp = server.createObject ("msxml2.xmlhttp.4.0")
Zurückgehalten
.Open "Get", httpurl, falsch
.Schicken
Endwith
OnErrorresumeNext
IFHTTP.STATUS <> 200Then
Sethttp = nichts
......
Ausgangsfunktion
Endif
Endfunktion
Wenn die Send -Methode einen Fehler generiert, kann der ReadyState -Wert 4 betragen, aber der Rückgabewert des Status darf nicht 200 sein. Haha, ich habe ReadyState und Status oft befolgt, um die vorherigen Ergebnisse zu erhalten. Es kann Fehler geben, und ich habe es noch nicht bemerkt.
Ich hoffe, die oben genannte Programmlösung kann Ihnen helfen !! Wenn Sie eine bessere Lösung für Ihren Freund haben, sagen Sie es mir bitte.
Ich bin ein Programm, das als Beispiel msxml2.xmlhttp.4.0 verwendet und auch für andere Versionen von XMLHTTP -Komponenten geeignet ist. Um zu überprüfen, welche Versionen von XMLHTTP -Komponenten in Ihrem System installiert wurden, finden Sie in der Registrierung zu hkey_classes_root, um sie zu finden.
Basierend auf den oben genannten Informationen habe ich nur die folgenden Änderungen vorgenommen, um sie normal ohne Betrieb zu sammeln, z. B. die Installation von Komponenten, das Neustart, das Schließen der Firewall usw.:
/Admin/item/admin_itemfunction.asp, in der Nähe von Zeile 166:
Http.send ()
IFHTTP.REYYSTATE <> 4Then