Как скриптом скачать файл по протоколу HTTPS ?

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,053
Решения
2
Реакции
5,746
Командная строка делает это с интерфейсом браузера.

Поэтому решил попробовать на vbs, но, к сожалению, не нашел справку по этому вопросу.
Может руки кривы, но то, что нагуглил - не работает.

Задача стоит загрузить файл с сервера ms и запустить его.
Тихая установка + лог имеется, скачать пока проблемка ... может совет дадите?
 
Так попробуй:

VB.NET / VBA:
Dim xhr
dim bStrm: Set bStrm = createobject("Adodb.Stream")
Set xhr = CreateObject("WinHttp.WinHttpRequest.5.1")
xhr.Option(WinHttpRequestOption_EnableRedirects) = False
If xhr Is Nothing Then Set xhr = CreateObject("WinHttp.WinHttpRequest")
If xhr Is Nothing Then Set xhr = CreateObject("MSXML2.ServerXMLHTTP")
If xhr Is Nothing Then Set xhr = CreateObject("Microsoft.XMLHTTP")
xhr.open "GET", "https://dragokas.com/tools/List_WMI.zip", False
xhr.send

with bStrm
    .type = 1 '//binary
    .open
    .write xhr.responseBody
    .savetofile "c:\temp\1.zip", 2 '//overwrite
end with

Но через Curl / Wget по-надёжнее будет.
 
Вот в это я и уперся)
upload_2017-12-3_2-5-52.webp

Но через Curl / Wget по-надёжнее будет.
Это я понимаю, но тогда уходит идея тупо скрипта.
 
Проверяй права доступа, наличие папки, кодировку скрипта (должен быть ANSI (1251)).
 
Вот в это я и уперся)
А ты проверяешь на тестовом скрипте от Dragokas, или сразу на своей ссылке от MS?
Просто у MS там очень намудренно с сертификатами, там даже через Curl не так просто скачать было, надо было отдельно указывать настройки шифрование.
 
Просто у MS там очень намудренно с сертификатами, там даже через Curl не так просто скачать было, надо было отдельно указывать настройки шифрование.
Вот блин!
Это значит что я испробовал множество рабочих вариантов и забраковал их зря... действительно, проблема только с серверами ms.
Может, ты знаешь как решается эта проблема?
 
Кирилл, в посте 3 у тебя ошибка указывает на проблему с записью файла на диск, а не скачиванием* (если конечно ты запускал мой скрипт).

*что не исключает, что скачивание тоже прошло не корректно.
 
Последнее редактирование:
в посте 3 у тебя ошибка указывает на проблему с записью файла на диск, а не скачиванием* (если конечно ты запускал мой скрипт).

*что не исключает, что скачивание тоже прошло не корректно.
Я тоже так думал, но поменяв в скрипте только лишь адрес сервера на твой все скачалось...
Может, конечно, проблема на моей стороне?
Попробуйте
Код:
https://aka.ms/wudiag
 
Прямая ссылка: http://download.microsoft.com/download/F/2/4/F24D0C03-4181-4E5B-A23B-5C3A6B5974E3/wu170509.diagcab
P.S. у меня по твоей ссылке тоже скачивает, но только текст:
Код:
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://download.microsoft.com/download/F/2/4/F24D0C03-4181-4E5B-A23B-5C3A6B5974E3/wu170509.diagcab">here</a>.</h2>
</body></html>
собственно с этой самой прямой ссылкой. Просто этот ActiveX объект не умеет самостоятельно переходить по ссылкам.

И вообще:

upload_2017-12-3_17-13-59.webp
 
А как ты извлек ее?
У меня их десятка три.
 
Кого? Прямую ссылку?
Да как хочешь.

Можешь в скачанном файле посмотреть, как я.
Может, у тебя он создаётся по-другому или не создаётся вообще, потому как у тебя Win10, а у меня Win7. (скрипт, что я дал - максимально универсален, т.е. если в системе нет какого-то объекта ActiveX, он пытается выполнить скачивание с помощью другого).

Можешь через какую-нибудь программу посмотреть, типа fiddler. Я в download master смотрел. Но там строка с переадресацией быстро исчезает, если мелкий файл.

Можешь не морочить голову, подставить всё в CURL / Wget, он тебе должен сам пройтись по ссылкам, и тебе даже не потребуются прямые.
 
Последнее редактирование:
Назад
Сверху Снизу