http веб-запрос из командного файла

Мне нужно выполнить веб-запрос http из планировщика заданий Plesk (с использованием общего хостинга в Windows / ASP.NET; без Powershell вообще). Подумал об использовании для этого батника.

Есть простой способ сделать это?


person Thomas Danecker    schedule 07.01.2009    source источник


Ответы (6)


Взгляните на curl. Это кроссплатформенный инструмент командной строки для создания веб-запросов (похожий на wget, если вы использовали его раньше). Вы должны иметь возможность вызвать это из своего командного файла.

person Herms    schedule 07.01.2009

Без внешних двоичных файлов - только встроенные возможности 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

Не поддерживает составные запросы (хотя я планирую добавить такую ​​функцию (когда-нибудь))

person npocmaka    schedule 03.04.2015
comment
Просто и красиво. Я применил это в случае, когда мы не могли установить бывших. - person Nishant; 18.10.2018
comment
Любой пример для POST с некоторыми полями или файлами ввода? - person KeitelDOG; 11.06.2019

Вы можете попробовать использовать wget для Windows.

person Patrick Cuff    schedule 07.01.2009

Какие вам разрешено устанавливать? Не могли бы вы, например, использовать wget для Windows? Или написать исполняемый файл .NET, который делает все, что вам нужно, с помощью WebClient или HttpWebRequest?

person Jon Skeet    schedule 07.01.2009
comment
Я подумываю написать приложение .net, но надеялся, что есть простой способ сделать это из командного файла. - person Thomas Danecker; 07.01.2009
comment
Хай @ThomasDanecker, ты добился этого с помощью пакетного скрипта, если да, пожалуйста, дайте мне знать здесь. Я хочу отправить запрос URL-адреса из пакетного сценария. Спасибо - person saikiran; 05.02.2015

Я бы предложил либо wget, либо curl. Версии Win32 доступны для обоих.

person j_random_hacker    schedule 07.01.2009

Утилита "curl", которая по сути представляет собой оболочку командной строки для замечательной библиотеки libcurl, будет обрабатывать практически любой HTTP-запрос или ответ. Это бесплатно бесплатно.

person James Anderson    schedule 07.01.2009