Мне нужно выполнить 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/ для тестирования):
jscript/.bat
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
Header-1: Value-1 ExampleHeader: Value2
Вы можете попробовать использовать wget для Windows .
Какие вам разрешено устанавливать? Не могли бы вы использовать wget для Windows , например? Или напишите исполняемый файл .NET, который делает все, что вам нужно, с помощью WebClient или HttpWebRequest?
Я бы предложил либо wget , либо curl . Версии Win32 доступны для обоих.
Утилита "curl", которая в основном является оболочкой командной строки для замечательной библиотеки libcurl, будет обрабатывать практически любые запросы или ответы http. Его свободно доступны бесплатно.