2

我有一个使用 ServerXMLHTTP 对象发出大量 GET 请求的 VBS:

    SET xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
    xmlhttp.setTimeouts 5000, 5000, 10000, 120000 'ms - resolve, connect, send, receive

    ...

    ' Now do the following for lots of different GetURLs:
    xmlhttp.open "GET", GetURL, false
    xmlhttp.setRequestHeader "Content-type","text/xml"
    xmlhttp.setRequestHeader "Accept","text/csv"
    xmlhttp.send "{}"

    WScript.Echo "Readystate = " & xmlhttp.readyState & " at " & Now()
    IF xmlhttp.readyState <> 4 THEN
        xmlhttp.waitForResponse 1
    END IF
    WScript.Echo "Readystate = " & xmlhttp.readyState & " at " & Now()

我发现脚本永远不会通过的情况,xmlhttp.send除非我异步运行它(即,使用xmlhttp.open "GET", GetURL, true)。

我的理解是,它应该根据 setTimeouts 超时,并且即使在同步运行时也会继续前进。那么可能会发生什么?(根据到目前为止的阅读,这听起来像是“很多”,但关于这方面的文档充其量是模糊的......)

4

0 回答 0