Как запланировать 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 который делает в основном то же самое, но упакован красиво и имеет некоторые другие навороты.

Другие вопросы по тегам