3

我正在尝试开发一个脚本,该脚本通过服务器验证自己,然后循环从服务器获取新数据。

贝娄是我正在使用的代码

Set s = CreateObject("MSXML2.XMLHTTP")

'Server authentication
s.open "GET", "fooAPI", False
s.send

do

    'Server data
    s.open "GET", "barAPI", False
    s.send
    Wscript.echo s.responseText
    WScript.Sleep 5000
loop

它第一次运行时,我得到了正确的最新信息,但是一旦它循环它就会给我与第一次运行相同的信息

我能找到的最接近的是这个但它没有得到答复。

我原本打算在 python 中完成这一切,但我的请求被拒绝了,因为安装 python 存在“安全风险”。

任何建议将不胜感激

4

2 回答 2

3

这是因为响应正在被缓存。要么更改 IE 的设置,使其每次都获取一个新副本,要么发送一些不用于诱使 IE 认为它是不同“页面”的随机参数。如果您控制服务器,则可以设置 HTTP 标头以强制客户端(如果它符合标准)始终获取内容。也可以在这里查看更多信息: VBScript:禁用从服务器到 HTTP GET URL 请求的响应缓存

(我知道大部分信息是 Sandeep 的链接。但是,将它放在这里会更好,并且可能会消失。)

于 2014-01-21T05:07:17.743 回答
0

也许这将帮助您重置响应:

Set s = CreateObject("MSXML2.XMLHTTP")
'Server authentication
s.open "GET", "fooAPI", False
s.send
do
    'Server data
    s.open "GET", "barAPI", False
    s.send
    Wscript.echo s.responseText
    WScript.Sleep 5000
    set s = nothing
loop
于 2016-06-15T07:00:46.833 回答