Converter curl para PowerShell
Converta comandos curl para código PowerShell utilizando Invoke-RestMethod. O curl2code é executado inteiramente no seu navegador através de WebAssembly — os seus dados permanecem privados. Para C#, experimente o nosso conversor de curl para C#. Para Python, veja curl para Python. Abaixo encontram-se exemplos de PowerShell prontos a usar.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o PowerShell Invoke-RestMethod?
Invoke-RestMethod é o cmdlet integrado do PowerShell para fazer pedidos HTTP com análise automática de JSON/XML. Devolve objetos analisados diretamente — sem necessidade de desserialização manual. Disponível no PowerShell 3.0+ e PowerShell Core. O curl2code também suporta o Invoke-WebRequest, que devolve a resposta em bruto.
Invoke-RestMethod vs Invoke-WebRequest — qual utilizar?
O Invoke-RestMethod analisa automaticamente respostas JSON/XML em objetos PowerShell — ideal para trabalhar com APIs. O Invoke-WebRequest devolve a resposta completa com cabeçalhos, código de estado e conteúdo em bruto — melhor para depuração e respostas não-JSON. Utilize o RestMethod para APIs e o WebRequest para scraping ou diagnósticos. Para uma abordagem .NET semelhante, veja curl para C#.
Como lidar com autenticação no PowerShell?
Para Bearer: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }. Para autenticação Basic, utilize -Credential (Get-Credential) ou -Authentication Basic (PowerShell 6+). O PowerShell lida com credenciais de forma segura com SecureString. O curl2code converte as flags de autenticação para parâmetros de cmdlets PowerShell.
Como enviar dados de formulário multipart no PowerShell?
O PowerShell 6+ suporta -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } para uploads multipart. No Windows PowerShell 5.1, construa o corpo multipart manualmente ou utilize classes .NET (System.Net.Http.MultipartFormDataContent). O curl2code lida com a conversão da flag -F.
Como lidar com erros HTTP no PowerShell?
Utilize try/catch: ambos os cmdlets lançam WebException em respostas não-2xx. Aceda à resposta com $_.Exception.Response. No PowerShell 7+, utilize -SkipHttpErrorCheck para evitar o lançamento de exceções e verifique $response.StatusCode manualmente.
Como trabalhar com JSON no PowerShell?
O Invoke-RestMethod analisa JSON automaticamente para PSObject. Para conversão manual: $data = $json | ConvertFrom-Json. Para enviar JSON: $body = @{ name = "John" } | ConvertTo-Json. O pipeline de objetos do PowerShell integra-se naturalmente com respostas de API analisadas para filtragem e transformação.
Como definir timeouts no PowerShell?
Utilize o parâmetro -TimeoutSec 30 em ambos os cmdlets. No PowerShell 7+, utilize -ConnectionTimeoutSeconds e -OperationTimeoutSeconds para um controlo detalhado. Para repetições, utilize -MaximumRetryCount 3 e -RetryIntervalSec 2 (PowerShell 7.1+).
Como utilizar um proxy no PowerShell?
Utilize o parâmetro -Proxy 'http://proxy:8080'. Para autenticação de proxy: -ProxyCredential (Get-Credential). O PowerShell respeita as definições de proxy do sistema por predefinição no Windows. Para ignorar: -NoProxy (PowerShell 6+). O curl2code converte as flags -x para parâmetros de proxy do PowerShell.
Como enviar um pedido POST com um corpo JSON em PowerShell?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para PowerShell usando o curl2code. O código gerado utiliza Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'. O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código Invoke-RestMethod.
Como adicionar autorização com token Bearer em PowerShell?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código Invoke-RestMethod com o cabeçalho de autenticação: -Headers @{ Authorization = 'Bearer YOUR_TOKEN' }. O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em PowerShell?
O curl2code converte curl -H "Content-Type: application/json" URL para código Invoke-RestMethod com o cabeçalho correto: -ContentType 'application/json'. Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API Invoke-RestMethod correta.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.