我正在尝试解决通过WebBrowser控件检索JSON文件的问题。理想情况下,我真的根本不想使用WebBrowsers,而只使用HTTP请求。但是,用户需要通过一次登录过程登录,该过程在登录后将允许访问一个JSON文件,该文件稍后将为用户提供会话代码。我无法使用HTTP请求,因为要使其正常工作需要HTTPS标头Cookie,因此无法获取它们并将其传递给请求。
现在的问题是我可以登录到URL,等待它完成这些操作,然后使用JSON文件导航到URL。但是,Webbrower中的IE要求您保存文件。我需要将其自动化或仅能够读取JSON文件。
此电子表格和宏将分发给许多用户。因此,我需要一个不需要安装其他软件的解决方案。
有什么想法吗?
我尝试了一些基本脚本,并尝试传递各种标头以将文件显示为纯文本。它令人沮丧,我肯定我缺少简单的东西。
headers = "Content-Type: text/plain"
frmSSOTest.WebBrowser1.Navigate2 myurl, "", Nothing, "", headers & vbCrLf
我希望用户能够打开电子表格,请单击一个按钮,该按钮将打开一个嵌入了Web浏览器的表单。登录后,成功登录后将使用JSON文件重定向到URL,然后自动保存到下载文件中,或者仅在VBA中读取JSON(我知道如何从文件中读取并传递JSON,只需用户手动保存即可文件)。
我认为UI自动化的一部分可能有效,但看起来很笨拙。
我认为将Web浏览器包含在表单中看起来更干净,而不只是打开IE会话。提示保存文件的问题相同