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

Тема в разделе "Visual Basic 6 / Сценарии VBScript, JScript", создана пользователем Кирилл, 2 дек 2017.

  1. Кирилл

    Кирилл Команда форума Администратор

    Сообщения:
    12.995
    Симпатии:
    5.630
    Командная строка делает это с интерфейсом браузера.

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

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

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    5.341
    Симпатии:
    5.248
    Так попробуй:

    Код (vb.net):

    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 по-надёжнее будет.
     
  3. Кирилл

    Кирилл Команда форума Администратор

    Сообщения:
    12.995
    Симпатии:
    5.630
    Вот в это я и уперся)
    upload_2017-12-3_2-5-52.png
    Это я понимаю, но тогда уходит идея тупо скрипта.
     
  4. Dragokas

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    5.341
    Симпатии:
    5.248
    Проверяй права доступа, наличие папки, кодировку скрипта (должен быть ANSI (1251)).
     
    Кирилл и DllPok нравится это.
  5. regist

    regist гоняюсь за туманом Ассоциация VN/VIP VIP Разработчик

    Сообщения:
    11.806
    Симпатии:
    5.627
    А ты проверяешь на тестовом скрипте от Dragokas, или сразу на своей ссылке от MS?
    Просто у MS там очень намудренно с сертификатами, там даже через Curl не так просто скачать было, надо было отдельно указывать настройки шифрование.
     
    Dragokas и Кирилл нравится это.
  6. Кирилл

    Кирилл Команда форума Администратор

    Сообщения:
    12.995
    Симпатии:
    5.630
    Вот блин!
    Это значит что я испробовал множество рабочих вариантов и забраковал их зря... действительно, проблема только с серверами ms.
    Может, ты знаешь как решается эта проблема?
     
  7. Dragokas

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

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

    *что не исключает, что скачивание тоже прошло не корректно.
     
    Последнее редактирование: 3 дек 2017
  8. Кирилл

    Кирилл Команда форума Администратор

    Сообщения:
    12.995
    Симпатии:
    5.630
    Я тоже так думал, но поменяв в скрипте только лишь адрес сервера на твой все скачалось...
    Может, конечно, проблема на моей стороне?
    Попробуйте
    Код (Text):
    https://aka.ms/wudiag
     
  9. Dragokas

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    5.341
    Симпатии:
    5.248
    Прямая ссылка: http://download.microsoft.com/download/F/2/4/F24D0C03-4181-4E5B-A23B-5C3A6B5974E3/wu170509.diagcab
    P.S. у меня по твоей ссылке тоже скачивает, но только текст:
    Код (Text):

    <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.png
     
  10. Кирилл

    Кирилл Команда форума Администратор

    Сообщения:
    12.995
    Симпатии:
    5.630
    А как ты извлек ее?
    У меня их десятка три.
     
  11. Dragokas

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    5.341
    Симпатии:
    5.248
    Кого? Прямую ссылку?
    Да как хочешь.

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

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

    Можешь не морочить голову, подставить всё в CURL / Wget, он тебе должен сам пройтись по ссылкам, и тебе даже не потребуются прямые.
     
    Последнее редактирование: 3 дек 2017
    Кирилл нравится это.
Загрузка...
Похожие темы - скриптом скачать файл
  1. Паразит
    Ответов:
    4
    Просмотров:
    856
  2. Сергей
    Ответов:
    6
    Просмотров:
    895

Поделиться этой страницей

Загрузка...