VBScript: загрузка JSON файла с веб-страницы и чтение содержимого в переменную - PullRequest
0 голосов
/ 14 марта 2020

Я пытаюсь написать скрипт 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

Я нашел ссылку, которую я могу использовать с параметрами для поиска нужных мне отчетов. Когда я перехожу по ссылке, Inte rnet Explorer возвращает файл JSON, который я могу открыть / загрузить. Файл JSON содержит идентификатор отчета, который я могу использовать в качестве параметра в другой ссылке для загрузки нужного мне файла.

Можно ли каким-либо образом использовать объект InternetExplorer для чтения текстового содержимого файла JSON в переменную, чтобы я мог проанализировать из него идентификатор отчета? Все примеры, которые я нашел, используют объект MSXML2.XMLHTTP, но это отключает его от входа, которого я достиг в объекте InternetExplorer.

1 Ответ

0 голосов
/ 17 марта 2020

Я закончил делать это в C#. Веб-сайт имел перенаправления и единый вход, поэтому я не мог получить прямое получение / публикацию WebClient, но я пошел на компромисс, войдя в систему с помощью объекта WebBrowser, а затем передав cookie-файлы объекту HttpWebRequest, согласно этому превосходному руководству:

https://www.codeproject.com/Tips/659004/Download-of-file-with-open-save-dialog-box

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...