Como agendar uma chamada de API baseada em URL no Windows?

1

Eu tenho esse serviço dinâmico de DNS e preciso encontrar uma maneira de chamar a API para atualizar meu IP dinâmico.

O URL que precisa ser chamado é apenas um .php com alguns parâmetros GET.

Existe uma maneira de fazer isso no CMD? Ou talvez Powershell? Eu realmente estou procurando uma maneira muito leve, porque isso será acionado a cada 1 hora.

Obrigado

    
por emzero 17.09.2012 / 07:18

2 respostas

1

Faça o download do cURL para Windows e agende um trabalho que o chama, ou um arquivo .cmd que faz o que você precisa .

    
por 17.09.2012 / 09:18
2

No powershell v2 não há cmdlet embutido para isso, mas ainda é bastante simples usar a WebClient class:

$wc = new-object System.Net.WebClient
$wc.DownloadString('http://www.google.com') | Out-Null  # ignore the response if just calling an API

Coloque isso em um arquivo com a extensão .ps1 e invoque por meio de um cronograma como este

powershell.exe -executionpolicy unrestricted -file C:\scripts\webapi.ps1

No powershell v3 (padrão no Win8 / Server 2012, também lançado agora para o SO de nível inferior), há um novo cmdlet integrado Invoke-WebRequest que basicamente faz a mesma coisa, mas é bem empacotado e tem alguns outros sinos e assobios.

    
por 19.09.2012 / 01:25