Мне нужно выполнить веб-запрос http из планировщика заданий Plesk (с использованием общего хостинга в Windows / ASP.NET; без Powershell вообще). Подумал об использовании для этого батника.
Есть простой способ сделать это?
Мне нужно выполнить веб-запрос http из планировщика заданий Plesk (с использованием общего хостинга в Windows / ASP.NET; без Powershell вообще). Подумал об использовании для этого батника.
Есть простой способ сделать это?
Взгляните на curl. Это кроссплатформенный инструмент командной строки для создания веб-запросов (похожий на wget, если вы использовали его раньше). Вы должны иметь возможность вызвать это из своего командного файла.
Без внешних двоичных файлов - только встроенные возможности Windows - ›https://github.com/npocmaka/batch.scripts/blob/master/hybrids/jscript/winhttpjs.bat
Это jscript/.bat гибрид, и его можно назвать простой летучей мышью. Пример использования (я использовал http://requestb.in/ в тестовых целях):
call winhttpjs.bat "http://requestb.in/xxxxxx" -method POST -header hdrs.txt -reportfile reportfile2.txt
call winhttpjs.bat "http://requestb.in/xxxxxx" -method GET -header hdrs.txt -reportfile reportfile3.txt -saveTo c:\somezip.zip
call winhttpjs.bat "http://requestb.in/xxxxxx" -method POST -header hdrs.txt -reportfile reportfile2.txt -saveTo responsefile2 -ua "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" -body-file some.json
Формат заголовочных файлов должен выглядеть следующим образом (если передан с аргументом команды -header):
Header-1: Value-1
ExampleHeader: Value2
Не поддерживает составные запросы (хотя я планирую добавить такую функцию (когда-нибудь))
Какие вам разрешено устанавливать? Не могли бы вы, например, использовать wget для Windows? Или написать исполняемый файл .NET, который делает все, что вам нужно, с помощью WebClient или HttpWebRequest?
Утилита "curl", которая по сути представляет собой оболочку командной строки для замечательной библиотеки libcurl, будет обрабатывать практически любой HTTP-запрос или ответ. Это бесплатно бесплатно.