Я добился определенного успеха, используя скрипт, подобный этому
option explicit
Const URL = "http://url/to/file.xls"
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
' request the file over http
dim http: set http = CreateObject("MSXML2.XMLHTTP")
http.open "GET", URL, false
http.send
' write the response text to a binary file
dim stream: set stream = CreateObject("ADODB.Stream")
stream.type = adTypeBinary
stream.open
stream.write http.responseBody
stream.SaveToFile "output.xls", adSaveCreateOverWrite
stream.close
, хотя я не использовал его для запросов https, я предполагаю, что сервер примет ваше имя пользователя и пароль в качестве4-й и 5-й параметры для вызова MSXML2.XMLHTTP
open
.
http.open "GET", URL, false, "username@", "password"
Я пробовал это, и это, безусловно, работает над простым запросом http
см. http://msdn.microsoft.com/en-us/library/ms759148(VS.85).aspx для запроса http и http://msdn.microsoft.com/en-us/library/ms675032(VS.85).aspx для потока adodb
Ну, альтернативой вышеупомянутому может быть использование объекта автоматизации Internet Explorer.Я не уверен, как вы справитесь с загрузкой файлов, но следующий фрагмент может дать вам отправную точку
option explicit
' create an instance of IE
dim ie: set ie = CreateObject("InternetExplorer.Application")
' load a url
ie.Navigate "/3698583/kak-ya-mogu-vypolnit-funktsiy-javascript-iz-vbscript"
' sleep while IE loads the content
do while ie.busy
WScript.Sleep 10
loop
'access the document object
dim doc: set doc = ie.document
' have IE natvigate to a link on the downloaded page. this could be your
' download link perhaps?
ie.Navigate doc.anchors(0).href
' wait while the new page loads...
do while ie.busy
WScript.Sleep 10
loop
' output the new content
WScript.Echo doc.documentElement.innerHTML
' close IE
ie.Quit