Converter curl para PowerShell

Converta comandos curl para código PowerShell usando Invoke-RestMethod. O curl2code é executado inteiramente no seu navegador via WebAssembly — seus dados permanecem privados. Para C#, tente nosso conversor de curl para C#. Para Python, veja curl para Python. Abaixo estão exemplos de PowerShell prontos para usar.

Como copiar o curl do seu navegador

  1. 1

    Abra o DevTools

    Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.

  2. 2

    Vá para a aba Network

    Clique na aba Network e realize a ação que dispara a requisição HTTP.

  3. 3

    Copiar como cURL

    Clique com o botão direito na requisição → CopyCopy as cURL. Depois cole acima.

Perguntas Frequentes

O que é o PowerShell Invoke-RestMethod?

Invoke-RestMethod é o cmdlet integrado do PowerShell para fazer requisições HTTP com análise automática de JSON/XML. Ele retorna 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 retorna a resposta bruta.

Invoke-RestMethod vs Invoke-WebRequest — qual usar?

O Invoke-RestMethod analisa automaticamente respostas JSON/XML em objetos do PowerShell — ideal para trabalhar com APIs. O Invoke-WebRequest retorna a resposta completa com cabeçalhos, código de status e conteúdo bruto — melhor para depuração e respostas não-JSON. Use RestMethod para APIs e 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, use -Credential (Get-Credential) ou -Authentication Basic (PowerShell 6+). O PowerShell lida com credenciais de forma segura com SecureString. O curl2code converte flags de autenticação para parâmetros de cmdlet do 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 use classes .NET (System.Net.Http.MultipartFormDataContent). O curl2code lida com a conversão da flag -F.

Como lidar com erros HTTP no PowerShell?

Use try/catch: ambos os cmdlets lançam WebException em respostas não-2xx. Acesse a resposta com $_.Exception.Response. No PowerShell 7+, use -SkipHttpErrorCheck para evitar o lançamento de exceção e verifique $response.StatusCode manualmente.

Como trabalhar com JSON no PowerShell?

O Invoke-RestMethod analisa JSON automaticamente em um PSObject. Para conversão manual: $data = $json | ConvertFrom-Json. Para enviar JSON: $body = @{ name = "John" } | ConvertTo-Json. O pipeline de objetos do PowerShell se integra naturalmente com respostas de API analisadas para filtragem e transformação.

Como definir timeouts no PowerShell?

Use o parâmetro -TimeoutSec 30 em ambos os cmdlets. No PowerShell 7+, use -ConnectionTimeoutSeconds e -OperationTimeoutSeconds para controle refinado. Para retries, use -MaximumRetryCount 3 e -RetryIntervalSec 2 (PowerShell 7.1+).

Como usar um proxy no PowerShell?

Use o parâmetro -Proxy 'http://proxy:8080'. Para autenticação de proxy: -ProxyCredential (Get-Credential). O PowerShell respeita as configurações de proxy do sistema por padrão no Windows. Para ignorar: -NoProxy (PowerShell 6+). O curl2code converte flags -x para parâmetros de proxy do PowerShell.

Como enviar uma requisição POST com 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 usa Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'. O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do Invoke-RestMethod.

Como adicionar autorização com token Bearer em PowerShell?

Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do Invoke-RestMethod com o cabeçalho de autenticação: -Headers @{ Authorization = 'Bearer YOUR_TOKEN' }. O curl2code detecta tokens Bearer tanto de flags -H "Authorization: Bearer ..." quanto de --oauth2-bearer. Para Basic auth, use -u user:pass.

Como definir o cabeçalho Content-Type em PowerShell?

O curl2code converte curl -H "Content-Type: application/json" URL para o código do Invoke-RestMethod com o cabeçalho correto: -ContentType 'application/json'. Para dados -d, o curl define por padrão application/x-www-form-urlencoded; para uploads de formulário com -F, ele usa multipart/form-data. O curl2code mapeia cada um para a API correta do Invoke-RestMethod.

Links úteis

Guias do curl

Converter curl para outras linguagens