Как ОТПРАВИТЬ HTTPS-запрос с помощью VBScript

#vbscript #https

#vbscript #https

Вопрос:

Я хочу знать, как сделать запрос HTTPS с клиента VBScript.

Как расшифровать ответ HTTPS после получения запроса?

Ответ №1:

 dim xHttp: Set xHttp = createobject("MSXML2.ServerXMLHTTP")

xHttp.Open "GET", "https://yourhost.example.com/foo", False

' 2 stands for SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS
' 13056 means ignore all server side cert error
xHttp.setOption 2, 13056
xHttp.Send

' read response body
WScript.Echo xHttp.responseBody
  

Ссылка:

Комментарии:

1. xHttp.responseBody должно быть xHttp.responseText . Использовал его для настройки запросов Facebook API, для которых требуется HTTPS. Хотя я полагаю, что это очень плохая практика с точки зрения безопасности, просто обходя все ошибки, это работает для тестирования.

2. Ваш код не работает с https . (Только с http ). xHttp.Send выдает ошибку времени выполнения -2147012744. Вы тестировали свой код?

Ответ №2:

HTTPS — это не просто формат шифрования — это протокол безопасности транспорта со встроенным сложным согласованием. Точно так же, как вы не пытались бы создавать HTTP-клиентский компонент в VBScript, аналогичным образом вы не пытались бы создавать HTTPS / SSL-клиент.

Язык VBScript не включает в себя ни одного HTTP-или HTTPS-клиента, но в Windows есть пара COM-объектов, которые можно использовать (из Windows Script Host или из ASP-страниц, написанных на VBScript), и код VBScript, запущенный в Internet Explorer, может аналогичным образом обращаться к объекту браузера, который разрешает вызовы HTTPS.

В Windows (WSH / ASP) лучшим объектом обычно является MSXML2.ServerXMLHTTP, например, смотрите этот краткий обзор:http://www.developerfusion.com/article/3272/posting-form-data-to-a-web-page/2 /

В Internet Explorer, пока вы не имеете дело с устаревшими версиями, лучшая идея — использовать стандартный кроссбраузерный объект XMLHttpRequest. На следующей странице представлен обзор:http://www.jibbering.com/2002/4/httprequest.html

Все эти HTTP-клиенты также поддерживают HTTPS.

Комментарии:

1. Я попробовал код ссылки developerfusion.com/article/3272 / … вы предоставили, и это не работает с https ! (Только с http ). Вы сами тестировали / проверяли ссылку? Если нет, то это не нормально! В любом случае, ни одна из предоставленных вами ссылок не содержит https . Это тоже не нормально.

2. @Apostolos Я не буду тратить много времени на ваши странно агрессивные комментарии… Объект MSXML2.ServerXMLHTTP обычно поддерживает HTTPS и будет работать для сотен или тысяч посетителей этого вопроса, но он зависит от множества механизмов операционной системы Windows, которые могут выходить изстроя по-разному. Я не знаю кода ошибки -2147012744, который вы упомянули ниже, но я предполагаю, что либо что-то сломано в вашем развертывании Windows, или что это несовместимо с сервером HTTPS, к которому вы пытаетесь подключиться, например, Windows XP в наши дни не поддерживается многими серверами.

3. Вы уже потратили слишком много! 🙂 Прошу прощения за оскорбление. Я просто ненавижу видеть код, который не работает (он выдает ошибки). Я разместил здесь много кода, и я всегда тестирую его перед этим. И я ожидаю, что другие программисты сделают то же самое. Вот и все.