É 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...
É 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...
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!