http solicitação da web a partir de arquivo de lote
-
05-07-2019 - |
Pergunta
Eu preciso executar um pedido http web do Agendador de Tarefas do Plesk (usando hospedagem compartilhada no Windows / ASP.NET, sem PowerShell, qualquer). Pensou em usar um arquivo de lote para isso.
Existe uma maneira fácil de fazer isso?
Solução
Dê uma olhada onda . É uma ferramenta de linha de comando de plataforma cruzada para fazer solicitações web (semelhante ao wget se você já usou isso antes). Você deve ser capaz de chamar isso de seu arquivo batch.
Outras dicas
Sem binários externos - apenas o built-in capacidades do Windows -> https://github.com/npocmaka/batch.scripts/blob/master/hybrids/jscript/winhttpjs.bat
Esta é híbrido jscript/.bat
e pode ser chamado como simples bastão.
Exemplo de uso (eu usei http://requestb.in/ para fins de teste):
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 arquivos de formato deve ser semelhante (se passou com argumento de comando -header
):
Header-1: Value-1
ExampleHeader: Value2
Você pode tentar usar wget para Windows .
O são você permissão para instalar? você poderia usar wget para Windows por exemplo? Ou escrever um executável .NET que faz tudo o que você precisa para usar WebClient ou HttpWebRequest?
O utiliity "onda" que é basicamente um invólucro de linha de comando para a biblioteca libcurl maravilhosa irá lidar com praticamente qualquer solicitação HTTP ou resposta. Sua livremente disponível gratuitamente.