Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Power Shell faz chamadas a endpoints?

É possível com Power Shell efetuar chamadas a endpoints e manipular seus retornos? Como por exemplo uma API que retorna uma lista de objetos no formato JSON e eu pudesse manipular essa lista ou algo nesse sentido...

2 respostas
solução!

Olá, Maxwel.

É possível sim. O PoweShell possui vários cmdletsde manipulação de rede no protocolo HTTP:

Uma opção mais moderna, é o cmdlet Invoke-RestMethod, que encaixa exatamente em seu caso: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-restmethod Exemplo, da documentação oficial:

Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/ |
Format-Table -Property Title, pubDate

Outra opção, é usar o cmdlet Invoke-WebRequest, uma solução mais geral para requisições web, se comparado com o RestMethod, e nos permite manipulações dos elementos de uma página HTML: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest Exemplo, da documentação oficial:

$R = Invoke-WebRequest -URI http://www.bing.com?q=how+many+feet+in+a+mile
$R.AllElements | where {$_.innerhtml -like "*=*"} | Sort { $_.InnerHtml.Length } | Select InnerText -First 5
innerText---------1 =5280 feet1 mile

E, por mais que eu acredite que os cmdlets acima sejam o suficiente, ainda podemos usar a classe .NET WebRequest e HttpClient! Sobre como utilizar classes .NET, nós veremos na parte 2 deste curso! :)

Ajudou bastante, muito obrigado!