VBScript:从网页下载JSON文件并将内容读取到变量

VBScript:从网页下载JSON文件并将内容读取到变量,vbscript,Vbscript,我正在尝试编写一个VB脚本,它将登录到一个安全的网站并下载一系列报告 以下内容让我进入了这个网站,但在登录之后,整个网站都是用javascript编写的 Dim oIE Set oIE = CreateObject("InternetExplorer.Application") With oIE .Visible = True .Navigate SecureWebsite Do While .Busy Or Not .readyState = 4: WScript.Sl

我正在尝试编写一个VB脚本,它将登录到一个安全的网站并下载一系列报告

以下内容让我进入了这个网站,但在登录之后,整个网站都是用javascript编写的

Dim oIE
Set oIE = CreateObject("InternetExplorer.Application")
With oIE
    .Visible = True
    .Navigate SecureWebsite
    Do While .Busy Or Not .readyState = 4: WScript.Sleep 100: Loop
    Do Until .document.readyState = "complete": WScript.Sleep 100: Loop
    Do While TypeName(.document.getElementById("username")) = "Null": WScript.Sleep 100: Loop
End With

Set Helem = oIE.document.getElementByID("username")
Helem.Value = "myusername" 
Set Helem = oIE.document.getElementByID("password")
Helem.Value = "mypassword" 

Call oIE.Document.all.loginForm.submit
我找到了一个链接,可以使用该链接的参数来搜索我需要的报告。当我点击链接时,InternetExplorer返回一个JSON文件,我可以打开/下载该文件。JSON文件包含一个报告ID,我可以在另一个链接中将其用作参数来下载所需的文件

是否有任何方法可以使用InternetExplorer对象将JSON文件的文本内容读入一个变量,以便我可以从中解析报告ID?我发现的所有示例都使用MSXML2.XMLHTTP对象,但这会将其与我在InternetExplorer对象中实现的登录断开

我最后在C#做了这件事。该网站有重定向和SSO,因此我无法获得直接的WebClient get/Post,但我通过使用WebBrowser对象登录,然后将cookie传递给HttpWebRequest对象,这是一个很好的指南:


这是否回答了您的问题?谢谢,但它使用的是MSXML2.XMLHTTP对象,它与我在InternetExplorer.Application对象中实现的身份验证没有连接。