VBScript MSXML2.XMLHTTP.responsetext在再次调用时未更新

VBScript MSXML2.XMLHTTP.responsetext在再次调用时未更新,vbscript,responsetext,Vbscript,Responsetext,我正在尝试开发一个脚本,该脚本通过服务器进行身份验证,然后循环从服务器获取新数据 下面是我正在使用的代码 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.responseTex

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

下面是我正在使用的代码

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存在“安全风险”


任何建议都将不胜感激,因为响应正在缓存中。要么改变IE的设置,让它每次都获取一个新的副本,要么发送一些随机参数,这些参数不是用来欺骗IE,使其认为这是一个不同的“页面”。如果控制服务器,则可以设置HTTP头以强制客户端(如果符合标准)始终获取内容。请参见此处的更多信息:


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

这可能会帮助您重置响应:

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

在花费更多的时间在SE上之后,我同意。我后悔接受了一个链接唯一的答案。同样,在变得更加了解情况之后,我意识到了问题所在。发送一个随机参数对我来说很有效——另一种发送nocache头的解决方案没有起到作用。我并没有在带有时间戳的假头上加上时间戳来保证唯一性