我正在尝试开发一个脚本,通过服务器验证自身,然后循环从服务器获取新数据。
Bellow是我使用
的代码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
第一次运行时,我得到了正确的最新信息,但一旦循环,就会从第一次运行中获得相同的信息
我能找到的最接近的是this但是没有得到答案。
我计划在python中完成这一切,但我被拒绝了我的请求,因为这是一个"安全风险"安装了python。
任何建议都将不胜感激
答案 0 :(得分:3)
这是因为缓存了响应。更改IE的设置,使其每次都获取一个新的副本,或者发送一些未用于欺骗IE的随机参数,使其认为它是一个不同的“页面”。如果您控制服务器,则可以设置HTTP标头以强制客户端(如果它符合标准),它始终获取内容。在这里查看更多信息: VBScript: Disable caching of response from server to HTTP GET URL request
(我知道这些信息大部分都是Sandeep的链接。但是,在这里使用它更好,可能会消失。)
答案 1 :(得分: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