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. Der Hauptgrund für die Fehlerbeschreibung lautet: "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.