gpt4 book ai didi

vbscript - vbscript msxml12.XMLHTTP错误处理

转载 作者:行者123 更新时间:2023-12-04 17:41:13 26 4
gpt4 key购买 nike

我使用以下vbscript代码下载网页:

Dim oXML
Set oXML = CreateObject("msxm12.XMLHTTP")
oXML.Open "GET", "mysite.com", False
oXML.Send


如果没有这样的网站,则会出现错误 80004005, Unspecified error at line "oXML.Open ..."

我该如何处理vbscript中的此错误?我想捕获此错误并显示msgbox和我的错误,即网页不可用。

最佳答案

脚本中至少有三个故障点。


CreateObject可能会失败;例如如果您使用msxml12(数字1)而不是msxml2(字母l)。这种错误应在开发过程中解决。
.Open可能会失败;例如如果您使用“ mysite.com”而不是语法正确的网址。如果您在运行时获取URL,建议进行“跳转前查看”检查,OERN可以用来捕获验证中未找到的错误URL。
发送可能失败;例如如果网站已关闭或废弃。对于OERN,这是一个明确的案例。


OERN的最重要规则:保持局部且短(仅在OERN和OEG0之间有一条危险线)。

演示代码:

Option Explicit

Dim sUrl
For Each sUrl In Split("http://stackoverflow.com http://pipapo.org mysite.com")
Dim oXML, aErr
' Set oXML = CreateObject("msxm12.XMLHTTP")
Set oXML = CreateObject("msxml2.XMLHTTP.6.0")
On Error Resume Next
oXML.Open "GET", sUrl, False
aErr = Array(Err.Number, Err.Description)
On Error GoTo 0
If 0 = aErr(0) Then
On Error Resume Next
oXML.Send
aErr = Array(Err.Number, Err.Description)
On Error GoTo 0
Select Case True
Case 0 <> aErr(0)
WScript.Echo "send failed:", aErr(0), aErr(1)
Case 200 = oXML.status
WScript.Echo sUrl, oXML.status, oXML.statusText
Case Else
WScript.Echo "further work needed:"
WScript.Echo sUrl, oXML.status, oXML.statusText
End Select
Else
WScript.Echo "open failed:", aErr(0), aErr(1)
End If
Next


输出:

cscript 24863986.vbs
http://stackoverflow.com 200 OK
send failed: -2146697211 The system cannot locate the resource specified.

open failed: -2147012890 System error: -2147012890.

关于vbscript - vbscript msxml12.XMLHTTP错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24863986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com