Как запланировать URL-вызов API в Windows?
У меня есть этот динамический DNS-сервис, и мне нужно найти способ вызвать API для обновления моего динамического IP-адреса.
URL, который должен быть call, - это просто.php с некоторыми параметрами GET.
Есть ли способ сделать это в CMD? Или, может быть, Powershell? Я действительно ищу очень легкий способ, потому что это будет срабатывать каждые 1 час.
Спасибо
2 ответа
Загрузите cURL для Windows и запланируйте работу, которая его вызывает, или .cmd
файл, который делает то, что вам нужно.
В powershell v2 для этого нет встроенного командлета, но все еще довольно просто использовать WebClient
учебный класс:
$wc = new-object System.Net.WebClient
$wc.DownloadString('http://www.google.com') | Out-Null # ignore the response if just calling an API
Поместите это в файл с .ps1
расширение, а затем вызвать по расписанию, как это
powershell.exe -executionpolicy unrestricted -file C:\scripts\webapi.ps1
В powershell v3 (по умолчанию в Win8/Server 2012, также теперь выпускается для ОС более низкого уровня) имеется новый встроенный командлет Invoke-WebRequest
который делает в основном то же самое, но упакован красиво и имеет некоторые другие навороты.