在哪里放置 MSXML 请求中的睡眠函数?
Where to put the sleep function in MSXML request?
我使用以下函数检查 RSS url 是否健康然后使用它:
function testUrl(url)
testUrl=0
Set o = CreateObject("MSXML2.XMLHTTP")
on error resume next
o.open "GET", url, false
o.send
if o.Status = 200 then testUrl = 1
on error goto 0
set o=nothing
end function
但是当目标URL在短时间内没有响应时我会得到超时错误。因此,如果没有成功响应,我想在 this Q/A 中使用以下函数在 5 秒后终止请求,但我不知道将 asp_Wait(5) 放在哪里以及如何在之后取消请求5秒?我应该在 o.send
或 o.send
同步后立即放置 asp_Wait 吗?
Function asp_Wait(nMilliseconds)
Dim oShell
Set oShell= Server.CreateObject("WScript.Shell")
Call oShell.run("ping 1.1.1.1 -n 1 -w " & nMilliseconds,1,TRUE)
End Function
如果使用 WinHTTPRequest 对象,您可以调用 WaitForResponse 方法。
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", url, true 'async request
o.send
If o.waitForResponse(5) Then 'wait 5 sec
...
Else 'wait timeout exceeded
...
End If
我使用以下函数检查 RSS url 是否健康然后使用它:
function testUrl(url)
testUrl=0
Set o = CreateObject("MSXML2.XMLHTTP")
on error resume next
o.open "GET", url, false
o.send
if o.Status = 200 then testUrl = 1
on error goto 0
set o=nothing
end function
但是当目标URL在短时间内没有响应时我会得到超时错误。因此,如果没有成功响应,我想在 this Q/A 中使用以下函数在 5 秒后终止请求,但我不知道将 asp_Wait(5) 放在哪里以及如何在之后取消请求5秒?我应该在 o.send
或 o.send
同步后立即放置 asp_Wait 吗?
Function asp_Wait(nMilliseconds)
Dim oShell
Set oShell= Server.CreateObject("WScript.Shell")
Call oShell.run("ping 1.1.1.1 -n 1 -w " & nMilliseconds,1,TRUE)
End Function
如果使用 WinHTTPRequest 对象,您可以调用 WaitForResponse 方法。
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", url, true 'async request
o.send
If o.waitForResponse(5) Then 'wait 5 sec
...
Else 'wait timeout exceeded
...
End If